正则表达式如何匹配单词
这篇文章给大家分享的是有关正则表达式如何匹配单词的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
10年积累的做网站、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站设计后付款的网站建设流程,更有土默特右旗免费网站建设让你可以放心的选择与我们合作。
正则表达式匹配单词的内幕:
元字符<<\b>>也是一种对位置进行匹配的“锚”。这种匹配是0长度匹配。有4种位置被认为是“单词边界”:
1)在字符串的***个字符前的位置(如果字符串的***个字符是一个“单词字符”)
2)在字符串的***一个字符后的位置(如果字符串的***一个字符是一个“单词字符”)
3)在一个“单词字符”和“非单词字符”之间,其中“非单词字符”紧跟在“单词字符”之后
4)在一个“非单词字符”和“单词字符”之间,其中“单词字符”紧跟在“非单词字符”后面
“单词字符”是可以用“\w”匹配的字符,“非单词字符”是可以用“\W”匹配的字符。在大多数的正则表达式实现中,“单词字符”通常包括<<[a-zA-Z0-9_]>>。
例如:<<\b4\b>>能够匹配单个的4而不是一个更大数的一部分。这个正则表达式不会匹配“44”中的4。
换种说法,几乎可以说<<\b>>匹配一个“字母数字序列”的开始和结束的位置。
“单词边界”的取反集为<<\B>>,他要匹配的位置是两个“单词字符”之间或者两个“非单词字符”之间的位置。
正则表达式匹配单词的原理探讨:
◆深入正则表达式引擎内部
让我们看看把正则表达式<<\bis\b>>应用到字符串“This island is beautiful”。引擎先处理符号<<\b>>。因为\b是0长度 ,所以***个字符T前面的位置会被考察。因为T是一个“单词字符”,而它前面的字符是一个空字符(void),所以\b匹配了单词边界。接着<>和***个字符“T”匹配失败。匹配过程继续进行,直到第五个空格符,和第四个字符“s”之间又匹配了<<\b>>。然而空格符和<>不匹配。继续向后,到了第六个字符“i”,和第五个空格字符之间匹配了<<\b>>,然后<
感谢各位的阅读!关于“正则表达式如何匹配单词”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
本文标题:正则表达式如何匹配单词
转载来于:http://ybzwz.com/article/psdpgs.html