回答
试试这个:
^(?!.*DontMatchThis).*$
请解释一下。这是如何工作的? – bikashg 2013-09-02 08:43:18
@bikashg:看到这里:http://stackoverflow.com/a/11125488/47190 – 2013-10-07 09:56:55
正则表达式匹配不包含特定模式的字符串
(?s)^(?!.*DontMatchThis).*$
如果使用未经(?s)
模式(这是一个在线版本RegexOptions.Singleline
标志使.
匹配一个换行LF符号以及所有其他字符),DontMatchThis
将只在第一行被搜索,并且只有没有LF符号的字符串将与匹配。
图案的详细资料:
(?s)
- 一个DOTALL /单线修饰使得.
匹配任何字符^
- 字符串锚开始(?!.*DontMatchThis)
- 一个negative lookahead如果有任何0或检查更多字符(匹配贪婪.*
子模式 - 注意懒惰.*?
版本(如果DontMatchThis
预计会接近字符串开头,则可能会更快地完成作业)(接下来是DontMatchThis
.*
- 任何零个或多个字符尽可能多,最多$
- 字符串结尾(请参阅锚字符:美元($
))。
这是接受答案的好补充。 – VMAtm 2016-11-19 02:10:14
- 1. 正则表达式匹配:不包含在一个字符串
- 2. 正则表达式 - 匹配字符串不包含指定字符串字面
- 3. 正则表达式匹配字符串不包含其他子
- 4. 正则表达式匹配包含子字符串,但不包括子字符串的字符串
- 5. 包含正则表达式匹配的拆分字符串
- 6. 匹配包含 - ,. $ \ /的字符串与正则表达式
- 7. 正则表达式,匹配的字符串也包含括号
- 8. 正则表达式匹配包含括号的字符串
- 9. 正则表达式:匹配包含字符串的<tr>
- 10. 简单的正则表达式匹配包含某个单词的字符串
- 11. 正则表达式仅匹配不包含特定字符的字符串
- 12. 正则表达式匹配字如果字符串不包含另一个字
- 13. 正则表达式匹配字符串
- 14. 正则表达式匹配字符串
- 15. 正则表达式匹配字符串
- 16. 正则表达式匹配字符串
- 17. 正则表达式匹配字符串
- 18. 正则表达式匹配字符串
- 19. 正则表达式匹配字符串
- 20. 正则表达式匹配字符串
- 21. 正则表达式字符串匹配?
- 22. 正则表达式字符串包含
- 23. 检查字符串是否包含正则表达式匹配
- 24. 正则表达式/ Perl来匹配包含字符串
- 25. 重复字符匹配正则表达式匹配字符串
- 26. 正则表达式匹配字符串或字符串
- 27. 正则表达式匹配字符串中的单个字符
- 28. 正则表达式匹配字符串的前n个字符
- 29. 正则表达式的字符串不包含两个不同的字符串
- 30. 正则表达式包含字符串,不包含另一个
你为什么要用正则表达式来做这件事,而不是使用String.IndexOf? – 2009-08-23 10:54:22
因为有时你的正则表达式是在配置中,你不能改变代码。或者因为你需要它作为另一个更复杂的正则表达式的子表达式。或者任何一种原因。你可能会问:“你为什么不通过解释性舞蹈的媒介让你的猫把你的文本模仿给你?”。有时你只是没有你的猫。 – 2015-01-06 17:55:36