回答
試試這個:
^(?!.*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