当前位置:  开发笔记 > 编程语言 > 正文

当存在重叠匹配时,在正则表达式中匹配一个匹配?

如何解决《当存在重叠匹配时,在正则表达式中匹配一个匹配?》经验,为你挑选了1个好方法。

我有一个匹配x OR y条件的正则表达式.有时这些匹配重叠,我想优先考虑其中一个条件.

这是我的测试用例.

正则表达式:

X[^\w]*\>|\>[^\w]*X

输入:

汤> X>字母表
字母汤> X
X>字母汤

火柴:

突出显示的匹配结果http://i.friendfeed.com/b55db94551503bf13d16f944fc56d9ff56676b4f

第一个突出显示的匹配(黄色)应该是X>而不是> X但是我不确定如何给出重叠给出的匹配之一.



1> Markus Jarde..:

这应该这样做:

X[^\w]*>|>[^\w]*X(?![^\w]*>)

低优先级替代后的负面预测.当它找到"> X",但有一个" >"后,它应该被跳过赞成"X >".

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有