Maison > Questions et réponses > le corps du texte
平时正则用得不多,今天偶尔翻了下,这个\b有点晕
伊谢尔伦2017-04-10 15:05:41
\b
匹配一个单词边界,也就是指单词和空格间的位置。例如,
'er\b'
可以匹配"never"
中的'er'
,但不能匹配"verb"
中的'er'
。
^
匹配输入字符串的开始位置。例如,
^Wang
可以匹配"Wangxf"
中的Wang
,但不能匹配"woshiWangxf"
中的Wang
。
$
匹配输入字符串的结束位置。例如,
xf$
可以匹配"Wangxf"
中的xf
,但不能匹配"Wangxfshiwo"
中的xf
。
组合起来
^Wangxf$
可以匹配字符串"Wangxf"
,但不能匹配"woshiWangxf"
和"Wangxfshiwo"
。
高洛峰2017-04-10 15:05:41
\b一般指单词边界(空格、空行、标点、tab、行首字、行尾等都算),如“a java program”中java两边都是空格,就可以匹配上。^和$算是\b的一种情况。
PHP中文网2017-04-10 15:05:41
不是一个意思
\b 是单词分隔符
^ 是字符串的起始位置(比如一行文本的开头)
$ 是字符串的末尾(比如行尾)
比如用楼主的两个正则尝试匹配字符串java is the best language in the world
的话, \bjava\b
可以匹配到 java
, 而 ^java$
则无法匹配成功
黄舟2017-04-10 15:05:41
不一样。\b匹配的是java前后的位置,找到空格+java+空格,而^和$匹配的是整个匹配字符串的开始和结束位置,开始必须是j+av+a结尾。