【发布时间】:2016-03-01 02:00:27
【问题描述】:
我正在尝试匹配短语中的“单词”pec+
我找不到 pec+
我尝试了\bpec\+\b 模式,但没有匹配项。
【问题讨论】:
-
您想在
&pec+、pec+_或pec+&中匹配pec+?abc,pec+,def呢?
标签: javascript regex regex-greedy word-boundaries
我正在尝试匹配短语中的“单词”pec+
我找不到 pec+
我尝试了\bpec\+\b 模式,但没有匹配项。
【问题讨论】:
&pec+、pec+_ 或pec+& 中匹配pec+? abc,pec+,def 呢?
标签: javascript regex regex-greedy word-boundaries
单词边界( \b )被定义为两个字符之间的点 在它的一侧有一个 \w,在它的另一侧有一个 \W(以任意顺序), 将字符串开头和结尾的虚构字符计算为 匹配一个 \W 。
@ 和 + 是非单词字符,没有匹配的 \w 字符。
【讨论】:
因为+不是单词字符,你需要通过匹配一个非单词边界来结束表达式,使用\B:
\bpec\+\B
见live demo,显示匹配
foo pec+ bar
但不适用于以下任何一项:
foopec+ bar
foo pec+bar
foopec+bar
【讨论】: