gpt4 book ai didi

Javascript正则表达式加粗多个字符串

转载 作者:行者123 更新时间:2023-11-30 16:47:15 28 4
gpt4 key购买 nike

我试图将字符串中的以下单词加粗,但语法不正确,谁能解释一下如何使用多个关键字来做到这一点。

reg = /(^|\s) vomiting | foodpoisoning | food poisoning | poisoned | diarrhoea | diarrhea | sick | puking | puked (\s|$)/ig ;

review = review.replace((reg,'$1<b>$2</b>$3'));

最佳答案

你需要这样的东西:

var re = /\b(vomiting|food ?poisoning|poisoned|diarrho?ea|sick|puking|puked)\b(?!<\/b>)/g; 
var str = 'There was some sick man, sick child and an already <b>sick</b> woman.';
var subst = '<b>$1</b>';
alert(str.replace(re, subst));

您的正则表达式包含不必要的空格,因为我看到您试图将单词边界与它们和 (^|\s) 匹配和 (\s|$) .单词边界与 \b 匹配.此外,我将备选方案放入捕获组中,以便 \b on both sides 应用于匹配词的两边。

(?!<\/b>)前瞻将确保我们不会将粗体标签添加到已经加粗的词中。

此外,您可以使用 ? 稍微缩短列表量词。

如果匹配不必区分大小写,则替换/g/gi在正则表达式的末尾。

关于Javascript正则表达式加粗多个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31061678/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com