正则?=,?:,?!


'adsaaa'.replace(/a(?=d)/g,'c')   // "cdsaaa"  非获取性匹配,只将后面有d的a替换成c
'adsaaa'.replace(/a(?:d)/g,'c')   // "csaaa"  此时等同于/ad/,将ad替换成c
'adsaaa'.replace(/a(?!d)/g,'c')   // "adsccc" 将后面不是d的a替换成c
'adsaaa'.match(/a(?=d)/g)   // ["a"]
'adsaaa'.match(/a(?:d)/g)   // ["ad"]
'adsaaa'.match(/a(?!d)/g)   // ["a", "a", "a"]

  其中?:的用处主要是在有|的时候,很好用,例如a(?:d|r)匹配的就是ad或者ar

(?<=pattern),?<!pattern)这两个js里现在都用不了


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM