Java正则表达式环视边界匹配如何使用? -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

Java正则表达式环视边界匹配如何使用?

小天使爱美 2020-04-12 22:43:17 1002

Java正则表达式环视边界匹配如何使用?

Java
分享到
取消 提交回答
全部回答(1)
  • 星尘linger
    2020-04-12 22:44:07
    已采纳

    "对于边界匹配,除了使用上面介绍的边界元字符,还有一种更为通用的方式,那就是环视。环视的字面意思就是左右看看,需要左右符合一些条件,本质上,它也是匹配边界,对边界有一些要求,这个要求是针对左边或右边的字符串的。根据要求不同,分为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左边的边界。对这个边界的要求是:它的左边不能是单词字符。"

    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题