正则表达式: 正向预查和负向预查
(?:pattern)匹配 pattern 但不獲取匹配結(jié)果,也就是說這是一個(gè)非獲取匹配,不進(jìn)行存儲(chǔ)供以后使用。這在使用 "或" 字符 (|) 來組合一個(gè)模式的各個(gè)部分是很有用。例如, 'industr(?:y|ies) 就是一個(gè)比 'industry|industries' 更簡(jiǎn)略的表達(dá)式。 這個(gè)匹配實(shí)際是取消了()括號(hào)優(yōu)先匹配的作用
?
(?=pattern)正向預(yù)查,在任 何匹配 pattern 的字符串開始處匹配查找字符串。這是一個(gè)非獲取匹配,也就是說,該匹配不需要獲取供以后使用。例如, 'Windows (?=95|98|NT|2000)' 能匹配 "Windows 2000" 中的 "Windows" ,但不能匹配 "Windows 3.1" 中的 "Windows"。預(yù)查不消耗字符,也就是說,在一個(gè)匹配發(fā)生后,在最后一次匹配之后立即開始下一次匹配的搜索,而不是從包含預(yù)查的字符之后開始。
正向預(yù)查匹配的是所有符合組合的字符串
?
(?!pattern)負(fù)向預(yù)查,在任 何不匹配Negative lookahead matches the search string at any point where a string not matching pattern 的字符串開始處匹配查找字符串。這是一個(gè)非獲取匹配,也就是說,該匹配不需要獲取供以后使用。例如'Windows (?!95|98|NT|2000)' 能匹配 "Windows 3.1" 中的 "Windows",但不能匹配 "Windows 2000" 中的 "Windows"。預(yù)查不消耗字符,也就是說,在一個(gè)匹配發(fā)生后,在最后一次匹配之后立即開始下一次匹配的搜索,而不是從包含預(yù)查的字符之后開始。
負(fù)向預(yù)查簡(jiǎn)單的來說就周(?!=玲玲|紅),可以匹配到非周玲玲和周紅組合的字符串,也就是說可以匹配' 你好周,周你好、玲玲周、紅周、等組合
?
轉(zhuǎn)載于:https://www.cnblogs.com/richiewlq/p/7308477.html
總結(jié)
以上是生活随笔為你收集整理的正则表达式: 正向预查和负向预查的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 11)PHP,单选框和复选框的post提
- 下一篇: ES6常用方法总结