java正则表达式的使用

java正则表达式的使用

文章目录

  • java正则表达式的使用
    • Pattern类和Matcher类
      • Pattern类
        • 创建pattern类对象
        • Pattern常用的几个方法
      • Matcher类
        • 创建一个 matcher 对象
        • matcher对象常用的几个方法
        • 注意
        • 其他方法

Pattern类和Matcher类

pattern类和matcher类都不具有构造方法。

Pattern类

创建pattern类对象

//获取Pattern类的对象
Pattern patt=Pattern.compile("\\d");
//返回pattern对象的正则表达式的字符串形式:
patt.pattern()
//对字符串进行分隔
 String[] arry=patt.split(str);
        for (String s: arry){
     
            System.out.println(s);
        }

Pattern常用的几个方法

1.mathes方法的使用 用于匹配全部匹配,只有每一个字符都满足 正则 条件才返回true

public void Matcher_test(){
     
        String str="hello world!123";
        Boolean iscontain=Pattern.matches("\\d",str);
        System.out.println(iscontain);
    }

Matcher类

创建一个 matcher 对象

语法:

//CharSequence input:一个字符串(如:“helloworld123")
Pattern pattern=Pattern.compile("\\d+");
Matcher matcher=pattern.matcher("22bb23");

matcher对象常用的几个方法

1.lookingAt():
对前面的字符串进行匹配,只有匹配到的字符串在最前面才返回true

 Pattern p=Pattern.compile("\\d+");
 Matcher m=p.matcher("22bb23");
 System.out.println(m.lookingAt());     //返回true,因为\d+匹配到了前面的22

2.find():
对字符串进行匹配,匹配到的字符串可以在任何位置.

 Pattern pattern=Pattern.compile("\\d+");
 Matcher matcher=pattern.matcher("22bb23");
 System.out.println(matcher.find()); //只要字符串中一个整数,就会返回true

1.start():
返回匹配到的子字符串在字符串中的索引位置.
2.end():
返回匹配到的子字符串的最后一个字符在字符串中的索引位置.
3. group():
返回匹配到的子字符串

 Pattern p=Pattern.compile("\\d+");
         Matcher m=p.matcher("aaa2223bb");
         System.out.println(m.find());;//匹配2223
         System.out.println(m.start());;//返回3
         System.out.println(m.end());;//返回7,返回的是2223后的索引号
         System.out.println(m.group());//返回2223

注意

java正则表达式的使用_第1张图片
java正则表达式的使用_第2张图片

其他方法

start() ,
end() ,
group()
均有一个重载方法它们是start(int i) , end(int i) , group(int i)专用于分组操作,Mathcer类还有一个groupCount()用于返回有多少组.

你可能感兴趣的