【Java正则表达式系列】8 Boundary Matcher(边界匹配)

我们之前的学习中,匹配是发生在输入字符串任意位置的,但是某些场景下,我们需要某些匹配仅仅对输入字符串的开始或者结尾处进行匹配,这就引入Boundary Matcher概念。

通过约定特殊的语法格式来满足特定意义,在Java API中定义了如下的Boundray Construct.

Boundary ConstructDescription
^The beginning of a line
$The end of a line
\bA word boundary
\BA non-word boundary
\AThe beginning of the input
\GThe end of the previous match
\ZThe end of the input but for the final terminator, if any
\zThe end of the input

下面通过几个示例来感受一下:

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里对\G进行一个补充说明,上面的解释”The end of the previous match”字面的意思是:”上一次匹配的结尾”,给人的感觉一头雾水,通过下面的例子进一步了解一下:
这里写图片描述

这里为什么第二个dog不能匹配到?原因在于我们的正则表达式说明只有紧接着上一次的匹配的字符后面匹配,现在两个dog字符串中间有空格,所以后面的dog就不匹配了,接下来的示例可以进一步验证这个:

这里写图片描述

上一节: 【Java正则表达式系列】7 Capturing Groups(匹配组)

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值