正则表达式忽略分组顺序匹配(前瞻后顾负前瞻负后顾的应用)
Posted xiaxiaosheng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式忽略分组顺序匹配(前瞻后顾负前瞻负后顾的应用)相关的知识,希望对你有一定的参考价值。
前瞻: ^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就违反了这一规则
以上是关于正则表达式忽略分组顺序匹配(前瞻后顾负前瞻负后顾的应用)的主要内容,如果未能解决你的问题,请参考以下文章