【发布时间】:2017-05-09 10:36:21
【问题描述】:
我有一个这样的字符串:
Free-coffee and coffee-free is free coffee
我只需要匹配和替换单个单词 free 而不是单词 {Free}-coffee 和 coffee-{free}
想法是在字符串中标记坏词并添加HTML标签<strong>,如下所示:
Free-coffee and coffee-free is <strong>free<strong> coffee.
我尝试使用空格,但如果这句话之前有空格,有时会失败。
这是我当前的正则表达式:
/(\sfree\s|\sfree|free\s)/ig
注意:这需要不区分大小写。
下面是代码示例:
var text = "Free-coffee and coffee-free is free coffee";
text = text.replace(/(\sfree\s|\sfree|free\s)/ig, " <strong>strong</strong> ");
请帮帮我。
【问题讨论】:
-
使用
text = text.replace(/(^|\s)(free)(?!\S)/ig, '$1<strong>$2</strong>')。 -
标签: javascript regex matching string-matching