首页 > 正则表达式中空格的作用

正则表达式中空格的作用

(/\w+\b Byron/).test('Welcome Byron')

/w+b Byron/为什么中间要加一个空格,否则就不匹配Welcome Byron? b不是已经表示了空格了吗?


空格就匹配空格,\b表示单词边界,但在匹配时不消费字符,这个例子里去掉\b也可以匹配


\b是匹配字符串开头结尾及空格回车等的位置,即单词边界, 不会匹配空格符本身。
\s则是匹配空白字符本身、空格符本身、换行符本身。


我怎么记得\s表示空格


首先:\w 匹配的是[A-Za-z0-9_],它是不包括空格的。\w+贪婪匹配最多能匹配Welcome。
\b的作用是匹配单词的边界,如果单词间以空格作为分割,它就是指单词和空格间的位置。注意,不是匹配空格。
所以上面的正则并没有匹配空格,所以要加空格。
如果不加空格,需要使用\s来匹配空格
\w+\b\sByron\w+\sByron


\b^$
这3个符号是 零宽断言,它们只匹配位置,不消耗字符。
所以,你还是需要一个 空格\s 去匹配空格字符。


\b 并不匹配空格,请详细阅读文档。

【热门文章】
【热门文章】