原创

Java复习之-Pattern类和Matcher类

Pattern类位于java.util.regex

1.使用正则表达式作为参数获得一个模式类Pattern的实例

Pattern pattern = Pattern.compile(String regex);

2.Pattern的方法compile(String regex,int flags)可以选择一个flags参数,可选值有:

2.1.Pattern.CASE_INSENSITIVE:启用不区分大小写的匹配。
2.2.Pattern.MULTILINE:启用多行模式。
2.3.Pattern.COMMENTS:模式中允许空白和注释。
等等...

3.通过对象的matcher(String str)方法获取一个匹配对象Matcher

Matcher matcher = pattern.matcher("要匹配的字符串");

Matcher类位于java.util.regex

1.Matcher的常用方法:

public boolean find();寻找要对比的字符串和正则匹配的下一子序列,成功返回true后,可以调用start()和end()获取该子序列的开始和结束位置,调用group()可以获取该子序列的值。

例子:

public class Test {
    public static void main(String[] args) {
        String s = "电话费:70.5,宽带费:300,水电费:287.5";
        String regex = "[0123456789.]+";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(s);
        double sum = 0;
        while (matcher.find()){
            String item = matcher.group();
            System.out.println(item);//结果:70.5  300  287.5
            sum += Double.parseDouble(item);
        }
        System.out.println("总账单:"+sum);//结果:总账单:658.0
    }
}
java
  • 作者:兰总(联系作者)
  • 发表时间:2019-08-19 15:04
  • 版权声明:自由转载-非商用-保持署名
  • 公众号转载:请在文末添加作者公众号二维码
  • 评论