平时正则用得不多,今天偶尔翻了下,这个\b有点晕
小伙看你根骨奇佳,潜力无限,来学PHP伐。
\b
匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er\b' 可以匹配 "never" 中的 'er',但不能匹配"verb" 中的 'er'。
'er\b'
"never"
'er'
"verb"
^
匹配输入字符串的开始位置。例如,^Wang 可以匹配 "Wangxf" 中的Wang,但不能匹配 "woshiWangxf" 中的Wang。
^Wang
"Wangxf"
Wang
"woshiWangxf"
$
匹配输入字符串的结束位置。例如,xf$ 可以匹配 "Wangxf" 中的xf,但不能匹配 "Wangxfshiwo" 中的xf。
xf$
xf
"Wangxfshiwo"
组合起来
^Wangxf$可以匹配字符串"Wangxf",但不能匹配"woshiWangxf"和"Wangxfshiwo"。
^Wangxf$
\b一般指单词边界(空格、空行、标点、tab、行首字、行尾等都算),如“a java program”中java两边都是空格,就可以匹配上。^和$算是\b的一种情况。
不是一个意思
\b 是单词分隔符 ^ 是字符串的起始位置(比如一行文本的开头) $ 是字符串的末尾(比如行尾)
比如用楼主的两个正则尝试匹配字符串java is the best language in the world 的话, \bjava\b 可以匹配到 java, 而 ^java$ 则无法匹配成功
java is the best language in the world
\bjava\b
java
^java$
不一样。\b匹配的是java前后的位置,找到空格+java+空格,而^和$匹配的是整个匹配字符串的开始和结束位置,开始必须是j+av+a结尾。
\b说白了,就是单词和单词之间的分割符,很明显只要是空白就可以
\b
^
$
组合起来
\b一般指单词边界(空格、空行、标点、tab、行首字、行尾等都算),如“a java program”中java两边都是空格,就可以匹配上。^和$算是\b的一种情况。
不是一个意思
\b 是单词分隔符
^ 是字符串的起始位置(比如一行文本的开头)
$ 是字符串的末尾(比如行尾)
比如用楼主的两个正则尝试匹配字符串
java is the best language in the world
的话,
\bjava\b
可以匹配到java
, 而^java$
则无法匹配成功不一样。\b匹配的是java前后的位置,找到空格+java+空格,而^和$匹配的是整个匹配字符串的开始和结束位置,开始必须是j+av+a结尾。
\b说白了,就是单词和单词之间的分割符,很明显只要是空白就可以