(?:pattern) 與 (?=pattern)的區別


共同點

(?:pattern) 與 (?=pattern)都匹配分組,但不會把分組放到匹配結果中。

區別

(?:pattern) 匹配得到的結果包含pattern。
(?=pattern) 則不包含。

對字符串:"industry abc"的匹配結果:
industr(?:y|ies) ---> "industry"
industr(?=y|ies) ---> "industr"

是否消耗字符

(?:pattern) 消耗字符,下一字符匹配會從已匹配后的位置開始。
(?=pattern) 不消耗字符,下一字符匹配會從預查之前的位置開始,只預查,不移動匹配指針。

 

 


出處:https://www.jianshu.com/p/43af3e83e6e9


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM