正则表达式语法
字符 | 说明 |
---|---|
\ | 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。eg, n匹配字符 n。\n 匹配换行符。 |
* | 零次或多次匹配前面的字符或子表达式(co*匹配c和coo) |
+ | 一次或多次匹配前面的字符或子表达式(co+不匹配c) |
? | 零次或一次匹配前面的字符或子表达式 |
\r | 匹配一个回车 |
\s | 匹配任何空白字符,包括空格,制表,换页符 |
\n | 匹配换行符 |
\d | 数字字符匹配,等效于[0-9] |
\D | 非数字字符匹配,等效于[^0-9] |
\w | 匹配任意字类字符,等效于[A-Za-z0-9] |
\W | 匹配任意非字类字符,等效于[^A-Za-z0-9] |
^ | 匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^ 还会与"\n"或"\r"之后的位置匹配。 |
$ | 匹配输入字符串结尾的位置。如果设置了 RegExp 对象的 Multiline 属性,$ 还会与"\n"或"\r"之前的位置匹配。 |
[xyz] | 匹配包含的任一字符集 |
[a-z] | 匹配指定范围内的任何字符[匹配a到z的范围内的任何小写字母] |
查找子串中是否包含了Cooing子串:
String pattern = ".*Cooing.*";
String content = "qwqqqqCooingqwqqqqq";
boolean isMatch = Pattern.matches(pattern, content);
System.out.println("字符串中是否包含了'Cooing'子串?" + isMatch);
在 Java 中,\\ 表示:我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义。
Java 中正则表达式中需要有两个反斜杠才能被解析为其他语言中的转义作用。也可以简单的理解在 Java 的正则表达式中,两个 \\ 代表其他语言中的一个 \,这也就是为什么表示一位数字的正则表达式是 \\d,而表示一个普通的反斜杠是 \\。