正则表达式匹配整个单词,包括空格和fullstop

时间:2015-07-23 07:04:51

标签: javascript regex

我正在尝试构建一个与<p><div>标记内的单词匹配的正则表达式,并将该单词替换为其他文本。这个单词可以在标签的开头或其他单词之间或句子的末尾(由一个句号或逗号或分号尾随)。我的正则表达式有效,但不完全。标签也可以将css类作为属性。

我的正则表达式:[^<>\n]*\b(Cat|Dog|Fish)\b[^<>\n]*

所以,如果文本是这样的:

(1) <p> Cat test dfdsf</p>
(2) <p> Cat.</p>
(3) <p>Cat.</p>
(4) <p class="test">Cat</p>
(5) <div>Cat</div>
(6) <p>Catfgdggh</p>
(7) <li>Cat</li>

它应符合上述所有条件,但(6)和(7)。也只是&#34; Cat&#34;应该匹配而不是标签中的其他单词。

非常感谢任何帮助。还有,请你解释一下。谢谢:))

1 个答案:

答案 0 :(得分:3)

\b(Cat|Dog|Fish)\b

使用\bword boundary

\b assert position at a word boundary (^\w|\w$|\W\w|\w\W)