不在正则表达式中
Posted
技术标签:
【中文标题】不在正则表达式中【英文标题】:Not in regular expression 【发布时间】:2013-02-22 13:47:32 【问题描述】:我正在尝试编写一个正则表达式模式来查找不在引号内的特定字符串。例如;
where value = '~foo'; //no match
where value = ~foo; //match
我可能会一直寻找,直到找到像这样的特定字符串;
^(?:(?!~).)*
但这并没有真正帮助我。如果我可以定义可以解决我的问题的文字字符串“not in”语句。
【问题讨论】:
【参考方案1】:您可以使用这样的外观
(?<!')yourWordGoesHere(?!')
【讨论】:
不应该是负面的吗? (? 【参考方案2】:这似乎有效:
~foo(?!(.(?<!'))*?')
结果:
【讨论】:
这只是测试末尾是否有引号。 @TimRogers 在什么情况下这不起作用?对我来说似乎很有效。 它将匹配~foo'
,但不匹配'~foo
。取决于是否可以接受。
最后的模式有点乱,不知道你为什么在那里使用后视。你可以使用(?!.*')
。
我意识到这不是最有效的。当我回到办公桌前时,我会修复它。以上是关于不在正则表达式中的主要内容,如果未能解决你的问题,请参考以下文章