正则表达式——7.4 单词边界

  单词边界的准确解释是:一端必须出现\w能匹配的字符,另一端不出现\w能匹配的字符。在JavaScript、PHP、Python 2、Ruby中,\w只能匹配[0-9a-z-A-Z_]。所以在这些语言中,\b\w+\b能用来匹配几乎所有的英文单词。

962172-20181213174514674-239760028.png
962172-20181213175640188-1917860884.png
962172-20181213175722280-620028206.png

字符串正则表达式能否匹配说明
tom,jerry(半角标点)\btom\b\w不能匹配半角标点
tom,jerry(全角标点)\btom\b\w可以匹配全角标点
tom和jerry\b和\b\w可以匹配中文字符
汤姆,jerry(半角标点)\btom\b\w不能匹配半角标点
汤姆,jerry(全角标点)\btom\b\w可以匹配全角标点

  总的来说,如果使用 Unicode 匹配规则,尽量不要在处理中英文混排文本时使用\b。如果使用 ASCII 匹配规则,则可以再处理英文文本时放心地使用\b

  也有更复杂的情况,比如 Java 就是如此。在 Java 中,虽然\w只能匹配[0-9a-zA-Z_]\b对“单词字符”的判断确实按照 Unicode 匹配规则的。后面有详情

转载于:https://www.cnblogs.com/gaara0305/p/10115426.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值