Java正则表达式基础知识--5个学习步骤
4. 排除性字符组[^characters] : 匹配字符组中指定字符集合之外的任意单个字符:
比如, [^abc] 将匹配除了 a,b,c 之外的任意单个字符。
ca[^ptb],将匹配 caX 的文本,除了 cap, cat, cab, 注意,这里是匹配一个非指定的字符,而不是不匹配。
5. 范围字符组: [char1-char2] 将匹配从char1 到 char2 之间的任意单个字符(按照ASCII编码)。
比如, [a-z] 匹配任意小写字符; [A-Z] 匹配任意大写字符 ; [0-9] 匹配任意数字; [a-zA-Z0-9]
匹配任意大小写字符或数字。
6. 特殊字符: 凡是在正则式中具有特殊含义的字符,要匹配字符本身(将其作为普通文本)都必须使用反斜线 \ 进行转义;通常需要转义的字符有: . +
* ? { } [ ] ( ) - \ ^ $。
比如, 匹配 . 的正则式是 \. , 匹配 \ 的正则式是 \\ , 匹配 ( 的正则式是 \( ;要匹配 (ab) 的正则表达式是 \(ab\)
; 要匹配 a? 的表达式是 a\? ; a? 将匹配空或单个a。
7. 匹配空白字符:
\f 换页 \n 换行 \r 回车 \t 制表符 \v 垂直制表符 \s 匹配任意空白符,包括上述任意一种
8. 字符类: <==> 等价于
\d <==> [0-9] 任意单个数字 \D <==> [^0-9] 任意单个的非数字字符
\w <==> [a-zA-Z0-9_] \W <==> [^a-zA-Z0-9_]
\s <==> [\f\n\r\t\v ] \S <==> [^\f\n\r\t\v ]
9. POSIX 字符类: 例如: [:digit:] <==> [0-9] ; [:alpha:] <==>
[a-zA-Z] ; [:alnum:] <==> [a-zA-Z0-9]
具体应用时要再加一层括号,比如 TEST[[:digit:]] 匹配 TEST0 - TEST9。
三、 匹配元素组合: