【发布时间】:2011-12-09 17:41:11
【问题描述】:
我正在尝试组合一个正则表达式来查找特定单词不何时存在于字符串中。具体来说,我想知道“主干”、“标签”或“分支”何时不存在(这是用于 Subversion 预提交挂钩)。根据Regular expression to match string not containing a word 的回答,我可以很容易地使用否定的环顾四周来为一个词做到这一点:
^((?!trunk).)*$
这是我正在努力解决的“和”运算符,我似乎无法获得包括其他两个词在内的组合。
这在 .NET 中运行良好,只需一个词:
var exp = new Regex(@"^((?!trunk).)*$");
exp.IsMatch("trunk/blah/blah");
如果第二行的路径中不存在“trunk”,它将返回当前状态的 false 或 true。
我在这里错过了什么?
【问题讨论】:
-
你为什么不能只做一个普通的“搜索”正则表达式并反转结果呢?
-
我受限于只能编辑正则表达式,而不是周围的逻辑。