我想排除多行文本字段中的特定模式。我有一个正则表达式捕获该模式,所以现在我想创建一个匹配除此模式之外的所有内容的表达式。什么是对此的一般方法?出于某种原因,像这样的负面看法:^(.(?!expression))*$
不适合我。正则表达式:排除
Q
正则表达式:排除
2
A
回答
3
说明
^(?!.*?\btest\b)
这将搜索寻找test
的字符串,如果存在的字符串,然后会导致测试失败。 See also sample
摘要
^
匹配字符串(?!
向前看的开始,看看有没有:.*?
除了\ n(0次或更多次 任何字符(匹配尽可能少的数量))\b
char(\ w) 和东西是不是一个字字符test
比赛test
\b
一个字字符(\ w)的 和东西之间的界限不是一个字字符)
先行结束
+0
现在好多了! – Jerry
+0
奇怪...好吧,我更新了这个,所以它会在rubular上工作,并且包含一个示例链接 –
2
你只是在错误的地方点。您需要之前做先行你消耗下一个字符,而不是之后:
^(?:(?!expression).)*$
而且,如果可以有行分隔符字符串中,你需要指定多/ DOTALL模式。你如何做到这一点取决于你使用的正则表达式。一些示例:
(?s)^(?:(?!expression).)*$
/^(?:(?!expression).)*$/s
^(?:(?!expression)[\s\S])*$
或者您可以使用Denomales' solution,这有点容易理解。
0
我发现这个表达式为我工作:
^.*(?=expression)
其中expression
表示正则表达式匹配我想排除的格局。 我推荐这个工具进行测试 - http://gskinner.com/RegExr/
相关问题
- 1. 正则表达式排除&#
- 2. 正则表达式排除
- 3. 正则表达式 - 排除
- 4. 正则表达式排除
- 5. 正则表达式排除表达
- 6. 正则表达式,排除了字
- 7. XCOPY正则表达式排除名称
- 8. 正则表达式排除的话
- 9. 正则表达式排除重复值
- 10. 正则表达式排除字符
- 11. 正则表达式排除捕获
- 12. 排除与正则表达式
- 13. 正则表达式排除字
- 14. 正则表达式排除结束
- 15. 前缀排除的正则表达式
- 16. 正则表达式来排除字符
- 17. 正则表达式来排除URL的
- 18. 正则表达式 - 排除不需要
- 19. 找到与正则表达式排除
- 20. 正则表达式排除字符串
- 21. 正则表达式排除类别
- 22. 正则表达式排除μ从[\ W_]
- 23. 正则表达式来排除文件
- 24. 正则表达式排除字符串
- 25. JavaScript正则表达式排除括号
- 26. 正则表达式排除一个字
- 27. 排除正则表达式组值
- 28. 正则表达式来排除匹配
- 29. 正则表达式字符串排除
- 30. 正则表达式匹配但排除
你能提供一些示例输入吗? –
你知道它会匹配一切,但确切的模式?所以,如果你想在“森林中的树”这个句子中匹配单词树,它将会有许多不同的选项可以匹配,但只有树的精确匹配会失败。所以它更加有效,取决于你的目标,匹配积极的并且在比赛时丢弃它。 – B8vrede
您可能在这里使用了错误的方法。如果通过排除,你的意思是你想过滤出来,我建议使用你的模式与查找/替换功能,只需用空字符串替换。 – FatalError