`
架构师
  • 浏览: 52623 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

正则表达式前瞻,后顾,负前瞻,负后顾 语法参考

阅读更多
每次使用正则表达式的前瞻,后顾,都要查手册。我绝对不会去背这玩意儿的。 没手册就要上网查,而且中文的网站根本查不到。我自己撰写一份,以后直接上自己的网站上就能查到了。

前瞻 lookahead (?=在这里编写内容)
后顾 lookbehind (?<=在这里编写内容)
负前瞻 negative lookahead (?!在这里编写内容)
负后顾 negative lookbehind (?<!在这里编写内容)

前瞻和后顾合称瞻前顾后、左顾右盼、东张西望  lookaround

后顾功能在大多数语言中有长度限制,而且只能使用定长的表达式,像\w+和\d?这样的表达式长度可变,用在后顾功能中属于语法错误,实际上不是语法错误,是正则表达式本身太扯淡,软件没实现这个功能,不让你用罢了。

Java对后顾功能的支持度,可以用?符号了,不能用+号,因为+号实在太扯淡,能匹配一个字符,也能匹配一万个字符,人家Sun公司的码农根本实现不出来,所以不给你提供这个功能。

.NET对后顾功能的支持度最高,可以匹配可变长度字符,可以用+号了,不愧是世界首富比尔盖茨微软,多砸钱,不信有实现不出来的功能。

总之,使用后顾的时候小心,不要写得天花乱坠,啥符号都往里塞。

Mastering Regular Expressions 3rd Edition 书中截图(见附件):

  • 大小: 25.5 KB
  • 大小: 73.2 KB
  • 大小: 95.3 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics