正则表达式之前瞻后顾(look around)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式之前瞻后顾(look around)相关的知识,希望对你有一定的参考价值。

参考技术A 文中所说的前后是有方向的,未免产生歧义,在此声明下
如A => B
我们说B在A的前面,A在B的后面

想要匹配abc并且abc的前面是123的表达式,应该这样:

想要匹配abc并且abc的前面不是123的表达式,应该这样:

想要匹配abc并且abc的后面是123的表达式, 尴尬的是js不支持后顾,只支持前瞻,所以用js匹配会这样:

所以我换了 sublime 编辑器,因为 sublime 是用 python 写的,所以会得到这样的结果:

想要匹配abc并且abc的后面不是123的表达式,应该这样:

当然,在js中也是不支持负后顾的,不过似乎有提案让js支持后顾,相信过几年js就可以支持后顾了。

以上是关于正则表达式之前瞻后顾(look around)的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式忽略分组顺序匹配(前瞻后顾负前瞻负后顾的应用)

js-正则表达式边界符和前瞻后顾的使用-保证你看明白

正则表达式入门环视

正则表达式?: ?! ?=

[正则]前瞻

前端小知识点:正则前瞻