复习一下正则中的前瞻后顾
正则中的前瞻后顾
正则中的前瞻后顾很有用,这里复习的同时,再做一个备忘。
前瞻(?=)
exp1(?=exp2)查找右视部分是exp2的exp1.
正则 | 输入 | 匹配结果 |
---|---|---|
abc(?=123) | abc123 | abc |
abc(?=123) | eabc1235 | abc |
abc(?=123) | abc12 | 不匹配 |
abc(?=123) | eabcd1235 | 不匹配 |
(?=)不能和$混用。
负前瞻(?!)
exp1(?!exp2)查找右视部分不是exp2的exp1.
正则 | 输入 | 匹配结果 |
---|---|---|
abc(?!123) | abc123 | 不匹配 |
abc(?!123 | eabc1235 | 不匹配 |
abc(?!123 | abc12 | abc |
abc(?!123 | eabcd1235 | abc |
后顾(?<=)
(?<=exp2)exp1
查找左视部分是exp2的exp1.
正则 | 输入 | 匹配结果 |
---|---|---|
(?<=abc)123 | abc123 | 123 |
(?<=abc)123 | eabc1235 | 123 |
(?<=abc)123 | abc12 | 不匹配 |
(?<=abc)123 | eabcd1235 | 不匹配 |
(?=)不能和$混用。
负后顾(?<!)
(?<!exp2)exp1
查找左视部分不是exp2的exp1.
正则 | 输入 | 匹配结果 |
---|---|---|
(?<!abc)123 | abc123 | 不匹配 |
(?<!abc)123 | eabc1235 | 不匹配 |
(?<!abc)123 | ab1234 | 123 |
(?<!abc)123 | eabcd1235 | 123 |