定位符
定位符也叫边界(Boundaries),能够将正则表达式固定到行首或行尾
定位符集
字符
含义
^
匹配输入开始
若多行(m)标志为 true,该字符也会匹配断行符后的开始
示例:/^R/
不匹配 "regexp" 中的 "r",但匹配 "RegExp" 中的 "R"。
$
匹配输入结尾
若多行(m)标志为 true,该字符也会匹配断行符的前的结尾
示例:/Exp$/
不匹配 "regexp" 中的 ""exp,但匹配 "RegExp" 中的 "Exp”
\b
匹配一个单词边界,即单词与空格,标点符号等间的位置
示例:/\bRegExp/
匹配 "The RegExp" 中的 "RegExp"
\B
匹配一个零宽非单词边界(zero-width non-word boundary
示例:/\BExp/
匹配 "The RegExp" 中的 "Exp"
定位符模式
输入开始与结尾边界
下述使用了^与$符,因此仅字符串的首尾与模式一致时,才能匹配成功
const regexp = /^一起学习[\d]{1,2}\s(RegExp)$/g
regexp.exec('一起学习01 RegExp'); // 匹配
regexp.exec('我们一起学习01 RegExp吗?'); // 不匹

单词模式边界
// 匹配一个单词边界
const regexp_b = /\bRegExp/;
regexp_b.exec('The RegExp Tech'); // 匹配
regexp_b.exec('TheRegExpTech'); // 不匹配
// 匹配一个零宽非单词边界
const regexp_B = /\BRegExp/;
regexp_B.exec('TheRegExpTech'); // 匹配
regexp_B.exec('The RegExp Tech'); // 不匹配


Last updated
Was this helpful?