我正在尝试修改包含一些特殊标签的文本。我相信通过一个正则表达式应该有可能,但是被困住了...

我想做的事通过一个例子更容易解释:

如果我有这段文字:



因此,我想要这样:

<span>Lorem Ipsum</span> is <span>simply dummy</span> text of the printing and typesetting industry.

如果遇到一个},但之前没有匹配的{,则应将其忽略。

我知道我可以使用\{(.*?)\}匹配所有内部文本,但是在继续操作方面迷失了方向,任何帮助都将得到应用。

最佳答案

你近了

text = text.replace(/{(.*?)}/g, '<span>$1</span>')

应该可以。 g修饰符使replace替换每次出现的模式,并且$1引用第一个捕获组的内容。

顺便说一句。这里不需要转义{},因为{(.*?)}不是一个特殊的构造。为了清楚起见,最好还是避开它们。

MDN documentation中有关JavaScript正则表达式的更多信息。

关于javascript - 用javascript和正则表达式替换内部文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6609063/

10-16 14:49