Jquery 正则表达式 - 查找和格式化相似的文本部分

标签 jquery regex string words

我正在尝试使用正则表达式在反馈选项文本中找到类似的字符串以使它们变为粗体。反馈选项列表示例。

  • 您的风险较低。
  • 您的风险为低至中等。
  • 您的风险中等。
  • 您的风险为中度到高。
  • 您的风险高。

以下代码在 Jquery 中有效,但它只找到第一个匹配的单词,因此找到“low”、“moderate”和“high”,但它与单词组“low to mid”或“moderate to”不匹配高的”。如何确保它会查找每个选项,而无需在第一个找到的单个单词上退出正则表达式?

var feedBackRiskTxt = currentFeedbackNode.find('Risk[result='+choice+']').text().replace(/(\blow|low to moderate|moderate|moderate to high|high\b.)/, "<span>$1</span>");

提前谢谢你,阿提拉

最佳答案

在我看来,您的正则表达式需要“g”选项,这样它将替换它找到的所有匹配项。

此外,如果您希望每个匹配的两端都有一个单词边界,并且尾随句点的匹配也无法正常工作,那么您就没有正确使用\b 字符。您可以使用它来解决这些问题:

var feedBackRiskTxt = currentFeedbackNode.find('Risk[result='+choice+']').text().replace(/\b(low|low to moderate|moderate|moderate to high|high)\./g, "<span class='bold'>$1.</span>");

您可以在这里看到它的工作原理:http://jsfiddle.net/jfriend00/Y8Csf/ .

关于Jquery 正则表达式 - 查找和格式化相似的文本部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8042729/

相关文章:

java - 如何在 Java 中的 tokenizer 中将 char 转换为 String

c# - 拆分字符串模式

regex - 简单的 perl 正则表达式搜索替换脚本

javascript - 由于 undefined variable 而无法传递 AJAX 调用

Javascript jQuery 样式.backgroundSize

javascript - 如何在 Firefox 中获取带零的数字输入的完整值

Ruby Regex Gsub 不匹配时

python - 任何字符二元组的正则表达式

c++ - 是否有替代 std::string 子字符串的方法?

jquery - 如何修复带有子项的 Kendo 菜单项上的箭头间距?