热线电话:13121318867

登录
2019-01-16 阅读量: 815
正则表达式整理2

(?!pattern)

正向否定预查(negative assert),在任何不匹配pattern的字符串开始处匹配查找字符串。这

是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例

如"Windows(?!95|98|NT|2000)"能匹配"Windows3.1"中的"Windows",但不能匹

配"Windows2000"中的"Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最

后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。(?

<=pattern)反向(look behind)肯定预查,与正向肯定预查类似,只是方向相反。例如," (?

<=95|98|NT|2000)Windows "能匹配" 2000Windows "中的" Windows ",但不能匹

配" 3.1Windows "中的" Windows "。(?

<!pattern)反向否定预查,与正向否定预查类似,只是方向相反。例如" (?

<!95|98|NT|2000)Windows "能匹配" 3.1Windows "中的" Windows ",但不能匹

配" 2000Windows "中的" Windows "。x|y 匹配 x 或 y。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood" 或 "food"。[xyz] 字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。[^xyz]负值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中

的'p'、'l'、'i'、'n'。[a-z]字符范围。匹配指定范围内的任意字符。例如,'[a-z]' 可以匹配 'a' 到 'z' 范围内的任意小写

字母字符。[^a-z]负值字符范围。匹配任何不在指定范围内的任意字符。例如,'[^a-z]' 可以匹配任何不在 'a'

到 'z' 范围内的任意字符。\b 匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er\b' 可以匹配"never" 中的

'er',但不能匹配 "verb" 中的 'er'。\B 匹配非单词边界。'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。\cx匹配由 x 指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或

a-z 之一。否则,将 c 视为一个原义的 'c' 字符。\d 匹配一个数字字符。等价于 [0-9]。

0.0000
3
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子