【问题标题】:regex replace every 2nd occurrence with Javascript正则表达式用 Javascript 替换每 2 次出现
【发布时间】:2018-11-14 23:35:49
【问题描述】:

我想用 javascript 将一些关键字替换为文本区域中的 HTML 元素。 有什么方法可以替换每个找到的第二个字符串?

举个例子,我的意思是:如果字符串中有 6 个 $ 符号,则第一个、第三个和第五个将被替换为 HTML 标记,其余的将替换为</strong> HTML 标记。

【问题讨论】:

  • 能否请您展示输入字符串和预期输出的示例?

标签: javascript regex replace tags


【解决方案1】:

使用它们之间的捕获组进行匹配和替换:

string = 'This is a $word$ and $two words$ and a $phrase with several words$.';
newstring = string.replace(/\$([^$]*)\$/g, '<strong>$1</strong>');
console.log(newstring);

【讨论】:

  • 该死的。我太复杂了,试图使用前瞻和后视等等。海量道具。我想两次喜欢这个!
  • 是的,如果您不以正确的方式思考问题,很容易出现心理障碍。你是如此专注于$,你没有考虑这些短语。
  • 这被捕获组捕获的字符串替换。任何正则表达式教程都会解释这一点。
  • @Roelly,看看 MDN 关于正则表达式的文章,并在页面上搜索“捕获组”。 developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
  • 另见tutorial
猜你喜欢
  • 1970-01-01
  • 2011-09-01
  • 2011-06-06
  • 2021-11-30
  • 2017-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-08
相关资源
最近更新 更多