正则表达式忽略分组顺序匹配(前瞻、后顾、负前瞻、负后顾的应用)


前瞻: ^ab(?=cd)$   匹配后面带有cd的ab,如果提取出来只有ab

例:  abcd-匹配   abef-不匹配

后顾: ^(?<=ab)cd$  匹配前面带有ab的cd,如果提取出来只有cd

例: abcd-匹配     efcd-不匹配

负前瞻: ^ab(?!cd)$  匹配后面不带cd的ab

例: abcd-不匹配   abef-匹配

负后顾: ^(?<!ab)cd$  匹配前面不带ab的cd

例: abcd-不匹配   efcd-匹配

 

应用


 

理解: "[0-9a-zA-Z]+"这部分很好理解,只匹配字母和数字,"(?!\d+$)" 这部分可以理解为不以纯数字结尾, 例如"394293"就违反了这一规则, 且"(?![a-zA-Z]+$)"表示不以纯字母结尾,

例如AbcD就违反了这一规则

 


免责声明!

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



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