-
[^A-Za-z0-9_] 等同于 /W , [A-Za-z0-9] 等同于 /w
当 符号^
在方括号中使用时,标示这个是不满足括号里面的字符
非捕获组:
- ?:pattern : 匹配pattern 但是不捕获结果
- ?=pattern : 零宽度正向预查,不捕获匹配结果
'Windows (?=95|98|NT|2000)'
匹配 "Windows2000" 中的 "Windows"
不匹配 "Windows3.1" 中的 "Windows"。 - ?!=pattern : 领宽度负向反查,不捕获匹配结果:
'Windows (?!=95|98|NT|2000)'
不匹配 "Windows2000" 中的 "Windows"
匹配 "Windows3.1" 中的 "Windows"。 - (?<=pattern) 零宽度正向回查
'2000 (?<=Office|Word|Excel)'
匹配 " Office2000" 中的 "2000"
不匹配 "Windows2000" 中的 "2000"。 - (?<pattern) 零宽度负向回查,不捕获匹配结果。
'2000 (?<!Office|Word|Excel)'
匹配 " Windows2000" 中的 "2000"
不匹配 " Office2000" 中的 "2000"。
优先级
- \ 转义符
- (), (?:), (?=), [] 圆括号和方括号
- *, +, ?, {n}, {n,}, {n,m} 限定符
- ^, $, \任何元字符、任何字符 定位点和序列(即:位置和顺序)
- | 替换,"或"操作字符具有高于替换运算符的优先级,使得"m|food"匹配"m"或"food"。若要匹 配"mood"或"food",请使用括号创建子表达式,从而产生"(m|f)ood"。 .