① .*和.*?的区别
String str = "1000001000100"; Pattern p1 = Pattern.compile("1.*1"); Pattern p2 = Pattern.compile("1.*?1"); System.out.println(p1.matcher(str).replaceAll(""));// 00 System.out.println(p2.matcher(str).replaceAll(""));// 000100 str = "cc"; Pattern p3 = Pattern.compile("(abc|cc)"); System.out.println(p3.matcher(str).matches());// true Pattern p4 = Pattern.compile("[a-z]"); System.out.println(p4.matcher(str).matches());// false str = "c"; System.out.println(p4.matcher(str).matches());// true Pattern p5 = Pattern.compile("[a-c]{1}"); System.out.println(p5.matcher(str).matches());// true② 小括号的意义
括号是多个选项的匹配,括号将括号里面的内容作为一组选项进行匹配③ 中括号的意义
方括号是单个匹配的,有4种用法
1.某个区间内 如 [a-zA-Z0-9],‘-’为链接符
2.某几个的范围 [abc],如[abc]他限制的不是abc连续出现,而是只能是其中一个,这样写就是找到这个位置只能是a或是b或是c
3.可以在中括号中进行取非的操作. [^a]
4.在中括号中的字符不再有特殊的含义 如经常匹配全部的 .和* [.][*]④ 大括号的意义
大括号的用法很简单,就是匹配次数,它需要和其他有意义的正则表达式一起使用,
比如[a-c]{1}意思就是匹配a-c之间的一个字母出现且只出现1次。
JAVA正则常见使用
最新推荐文章于 2024-06-21 04:42:38 发布