"对于边界匹配,除了使用上面介绍的边界元字符,还有一种更为通用的方式,那就是环视。环视的字面意思就是左右看看,需要左右符合一些条件,本质上,它也是匹配边界,对边界有一些要求,这个要求是针对左边或右边的字符串的。根据要求不同,分为4种环视: 1)肯定顺序环视,语法是(? =...),要求右边的字符串匹配指定的表达式。比如表达式abc(?=def), (? =def)在字符c右面,即匹配c右面的边界。对这个边界的要求是:它的右边有def,比如abcdef,如果没有,比如abcd,则不匹配。 2)否定顺序环视,语法是(? ! ...),要求右边的字符串不能匹配指定的表达式。比如表达式s(? !ing),匹配一般的s,但不匹配后面有ing的s。注意:避免与排除型字符组混淆,比如s[^ing],s[^ing]匹配的是两个字符,第一个是s,第二个是i、n、g以外的任意一个字符。 3)肯定逆序环视,语法是(? <=...),要求左边的字符串匹配指定的表达式。比如表达式(?<=\s)abc, (? <=\s)在字符a左边,即匹配a左边的边界。对这个边界的要求是:它的左边必须是空白字符。 4)否定逆序环视,语法是(? <! ...),要求左边的字符串不能匹配指定的表达式。比如表达式(?<! \w)cat, (? <! \w)在字符c左边,即匹配c左边的边界。对这个边界的要求是:它的左边不能是单词字符。"
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。