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号
浙公网安备 33010602011771号