【发布时间】:2014-06-26 16:12:20
【问题描述】:
是否有匹配一个字符串的通用正则表达式,但前提是一行不包含另一个字符串?
例如,我想匹配单词apple,但前提是该行不包含banana。所以以下几行:
-
apple banana- 不匹配 -
pear apple- 匹配苹果但不匹配梨 -
apple pear apple- 匹配第一个和第二个苹果,但不匹配梨
我知道
^((?!banana).)*$
将匹配不包含香蕉的行。但我似乎无法将其与仅匹配的苹果相结合。
【问题讨论】:
-
您可能只需要两个正则表达式。有什么非常迫切的需要一次性完成吗?
-
“香蕉苹果”呢?这是一个可能的选择吗?
-
您使用的是哪种正则表达式?是PCRE吗?
-
正则表达式风格是 PCRE,是的。香蕉苹果是可能的 - 我不想用香蕉来匹配任何一行
-
@Michelle 也许吧,我不确定。该应用程序用于文本编辑器的 XML c++.lang 文件中的语法高亮显示。我想匹配
/字符,但这会破坏//的注释结构。可能有不同的方法来解决这个问题,但无论如何,这个问题被证明是一个非常有趣的学术练习
标签: regex