定位符

定位符也叫边界(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