簡體   English   中英

C#Regex匹配不包含某個字符串的字符串?

[英]C# Regex to match a string that doesn't contain a certain string?

我想匹配任何包含字符串“DontMatchThis”的字符串。

什么是正則表達式?

嘗試這個:

^(?!.*DontMatchThis).*$

匹配不包含特定模式的字符串的正則表達式是

(?s)^(?!.*DontMatchThis).*$

如果您使用不帶(?s)的模式(這是RegexOptions.Singleline標志的內聯版本,使得.匹配換行符號以及所有其他字符),則只會在第一行搜索DontMatchThis ,只有沒有LF符號的字符串才會匹配.*

圖案細節

  • (?s) - DOTALL / Singleline修改器制作. 匹配任何角色
  • ^ - 字符串錨點的開始
  • (?!.*DontMatchThis) - 負向前瞻檢查是否有任何0個或更多字符(與貪婪.* subpattern匹配 - 注意一個懶惰.*?版本(在下一個子模式匹配之前匹配盡可能少的字符)可能會得到如果DontMatchThis預計接近字符串開始,那么工作就會更快完成)接着是DontMatchThis
  • .* - 任意零個或多個字符,盡可能多,最多
  • $ - 字符串的結尾(參見Anchor Characters:Dollar( $ )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM