參考:
例:包含admin且不包含abc。
^((?!abc).)*admin((?!abc).)*$
查資料知道:
(?!pattern) 負向預查,在任何不匹配 pattern 的字串開始處匹配查詢字串。這是乙個非獲取匹配,也就是說,該匹配不需要獲取供以後使用。例如'windows (?!95|98|nt|2000)' 能匹配 "windows 3.1" 中的 "windows",但不能匹配 "windows 2000" 中的 "windows"。預查不消耗字元,也就是說,在乙個匹配發生後,在最後一次匹配之後立即開始下一次匹配的搜尋,而不是從包含預查的字元之後開始
(?!abc) 的意思是 , 不匹配abc
那麼((?!abc).)* 的意思就是匹配 不含abc的字元(?!abc) 跟 任意字元. 的組合,出現任何次*
((?!abc).)* 的結果就是 匹配了不包含abc的字串
加上首尾 ^((?!abc).)*$ 表示匹配一行
效果如下
上面的可以看出((?!abc).)*表示匹配不包含abc的字串, 現在想要匹配 不包含abc但包含admin 的字串。
那麼讓 不包含abc的字串出現在 admin 的兩端?
試試:^((?!abc).)*admin((?!abc).)*$
簡單測試了下, 是可以的。
正規表示式匹配 包含且不包含
參考 例 包含admin且不包含abc。abc admin abc 查資料知道 pattern 負向預查,在任何不匹配 pattern 的字串開始處匹配查詢字串。這是乙個非獲取匹配,也就是說,該匹配不需要獲取供以後使用。例如 windows 95 98 nt 2000 能匹配 windows 3.1...
不能包含全形 正則 python正規表示式
參考 部分 匹配任意字元,除了n 匹配來自字符集的任意單一字元 d 匹配數字 d 匹配非數字 s 匹配空白字元 包括r n t等 s 匹配非空白字元 w 匹配字母 數字 下劃線 w 匹配非字母 數字 下劃線 匹配0次或多次 匹配1次或多次 匹配0次或1次 匹配至少m次至多n次 匹配字串的開始 匹配字...
正規表示式匹配dom元素指定包含特定id
今天碰到專案乙個需求,需要通過使用者輸入儲存實時更新預覽 其中就碰到如何匹配更新最新的內容,首先得匹配成對dom元素,我們先用span標籤包裹,後的根據不同得id值更新不同得資料,經過自己的不斷反覆實驗總結出了匹配正規表示式如下 首先先寫出匹配特定屬性值的正則是 正規表示式為reg s w w s ...