表示bc不区分大小写
a((?i)b)c
表示只有b不区分大小写Pattern pattern = Pattern.compile(regStr,Pattern.CASE_INSENSITIVE);
[^a-z]
说明:[^a-z]
表示可以匹配不是a-z中的任意一个字符[^A-Z]
表示可以匹配不是A-Z中的任意一个字符[^0-9]
表示可以匹配不是0-1中的任意一个字符如果用 [^a-z]去匹配“a11c8”会得到什么结果?结果:1、1、8
用 [^a-z]{2}又会得到什么结果?结果是:11
[abcd]
表示可以匹配abcd中的任意一个字符[^abcd]
表示可以匹配不是abcd中的任意一个字符\\d
表示可以匹配0-9的任意一个数字 , 相当于[0-9]\\D
表示可以匹配不是0-9的任意一个数字,相当于[^0-9],即匹配非数字字符\\w
表示可以匹配任意英文字符、数字和下划线,相当于[a-zA-Z0-9_]\\W
相当于[^a-zA-Z0-9_],与\\w
相反\\s
匹配任何空白字符(空格,制表符等)\\S
匹配任何非空白字符 , 与\\s
相反.
匹配除\n
和\r
之外的所有字符,如果要匹配.
本身则需要使用\\
package li.regexp;import java.util.regex.Matcher;import java.util.regex.Pattern;//演示字符匹配符的使用public class RegExp03 {public static void main(String[] args) {String content = "a1 1\r@c^8ab_c\nA BC\r\n";//String regStr = "[a-z]";//匹配 a-z 之间任意的一个字符//String regStr = "[A-Z]";//匹配 A-Z 之间任意的一个字符//String regStr = "[0-9]";//匹配 0-9 之间任意的一个字符//String regStr = "abc";//匹配 abc 字符串[默认区分大小写]//String regStr = "(?i)abc";//匹配 abc 字符串[不区分大小写]//String regStr = "[^a-z]";//匹配不在 a-z 之间任意的一个字符//String regStr = "[^0-9]";//匹配不在 0-9 之间任意的一个字符//String regStr = "[abcd]";//匹配在 abcd 中任意的一个字符//String regStr = "\\D";//匹配不在 0-9 中的任意的一个字符[匹配非数字字符]//String regStr = "\\w";//匹配任意英文字符、数字和下划线//String regStr = "\\W";//\[^a-zA-Z0-9_]//String regStr = "\\s";//匹配任何空白字符(空格,制表符等)//String regStr = "\\S";//匹配任何非空白字符String regStr = ".";//.匹配除\n之外的所有字符,如果要匹配.本身则需要使用\\//说明:当创建Pattern对象时,指定Pattern.CASE_INSENSITIVE,表示匹配是不区分字母大小写的//Pattern pattern = Pattern.compile(regStr,Pattern.CASE_INSENSITIVE);Pattern pattern = Pattern.compile(regStr);Matcher matcher = pattern.matcher(content);while (matcher.find()) {System.out.println("找到:" + matcher.group(0));}}}
5.4.3元字符-选择匹配符在匹配某个字符串的时候是选择性的 , 即:既可以匹配这个,又可以匹配那个,这时需要用到选择匹配符号|文章插图
例子:
package li.regexp;import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegExp04 {public static void main(String[] args) {String content ="hangshunping 韩 寒冷";String regStr="han|韩|寒";Pattern pattern = Pattern.compile(regStr);Matcher matcher = pattern.matcher(content);while (matcher.find()) {System.out.println("找到:" + matcher.group(0));}}}
文章插图
5.4.4元字符-限定符用于指定其前面的字符和组合项连续出现多少次
文章插图
推荐阅读
- Java函数式编程:一、函数式接口,lambda表达式和方法引用
- .net lambda表达式合并
- SpringBoot框架SpEL表达式注入漏洞复现与原理分析
- C++ 使用栈求解中缀、后缀表达式的值
- 【Java8新特性】- Lambda表达式
- 二 Python常用的正则表达式
- spring cron表达式源码分析
- 怎么算预产期
- 名不正言不顺是哪家的思想? 名不正言不顺是哪家的思想