【发布时间】:2013-05-07 15:23:19
【问题描述】:
我正在尝试在搜索和替换中使用 ST2 的正则表达式功能,但不知道如何创建一个非捕获组。对于此示例,我想查找 not 后跟“UMBER”的“DEAN”实例,即区分“DEANCARE”和“DEANUMBER”
从我过去阅读和使用的内容来看,非捕获的语法应该是:
DEAN(?:UMBER)
应该匹配“DEANCARE”但不“DEANUMBER”。然而,Sublime Text only 会发现“DEANUMBER”,就像我输入了一样:
DEAN(UMBER)
在第一个(或每个)不需要的字母上使用方括号是否有效:
DEAN[^U]
但我仍然更喜欢使用组不匹配而不是用于其他目的,并且避免必须明确不匹配每个单独的字符。我是否有语法错误,或者 ST2 的正则表达式如何工作的概念错误?
【问题讨论】:
-
你不明白什么是非捕获组。你需要的是一个消极的前瞻:
DEAN(?!UMBER)
标签: regex search replace sublimetext2