开发者社区> 问答> 正文

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

已解决

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

展开
收起
小天使爱美 2020-04-12 22:43:17 6059 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

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

    2020-04-12 22:44:07
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载