正则表达式中的\b可以用来单词的边界。单词的前边界,或者是后边界,或者是同时。
基础用法略去不提,在\b的使用中有这样几点是需要格外注意的。
1. \b紧挨着的字符必须是a-z,A-Z,0-9。
像"\b@mentioned"这样的表达是无法匹配出 @mentioned 这样的字符串的。
所以请不要尝试在提取出的微博的文本中使用"\b@.*\b"这样的方式提取被@的用户名。
另外,值得注意的是,\b匹配的单词中可以出现非a-z,A-Z,0-9的字符,只要不紧挨着\b就可以了。
这是十分有趣的一件事,在使用中务必要注意。
2. \b匹配出的字符串是不包括空格的。
3. \b是可以匹配字符串首与字符串尾的。
例如,在字符串"walk wa lk"中,使用"\bwalk\b"是可以顺利匹配出"walk"的。
尽管没有空格,但单词与字符串首尾之间也存在着边界。