java 正则表达式
- API 所支持的元字符有:
([{\^-$|}])?*+.具有特殊意义的字符(15个) -
预定义字符类 .任何字符(匹配或者不匹配行结束符) \d数字字符: [0-9]\D非数字字符: [^0-9]\s空白字符: [\t\n\x0B\f\r]\S非空白字符: [^\s]\w单词字符: [a-zA-Z_0-9]\W非单词字符:
[^\w]
贪婪(greedy)、勉强(reluctant)和侵占(possessive)
| 量 词 种 类 | 意 义 | ||
| 贪婪 | 勉强 | 侵占 | |
X? |
X?? |
X?+ |
匹配 X 零次或一次 |
|
|
X*? |
X*+ |
匹配 X 零次或多次 |
X+ |
X+? |
X++ |
匹配 X 一次或多次 |
X{n} |
X{n}? |
X{n}+ |
匹配 X n 次 |
X{n,} |
X{n,}? |
X{n,}+ |
匹配 X 至少 n 次 |
X{n,m} |
X{n,m}? |
X{n,m}+ |
匹配 X 至少 n 次,但不多于 m 次 |
零长度匹配会出现在以下几种情况:输入空的字符串、在输入字符串的开始处、在输入字符串最后字符的后面,或者是输入字符串中任意两个字符之间。由于它们开始和结束的位置有着相同的索引,因此零长度匹配是容易被发现的。
1 Enter your regex: [abc]{3} 2 Enter input string to search: abca 3 I found the text "abc" starting at index 0 and ending at index 3.//此处的理解是 匹配3次 每次符合[abc],算匹配成功
3.边界匹配器
^ |
行首 |
$ |
行尾 |
\b |
单词边界 |
\B |
非单词边界 |
\A |
输入的开头 |
\G |
上一个匹配的结尾 |
\Z |
输入的结尾,仅用于最后的结束符(如果有的话) |
\z |
输入的结尾 |

浙公网安备 33010602011771号