我正在尝试修改包含一些特殊标签的文本。我相信通过一个正则表达式应该有可能,但是被困住了...
我想做的事通过一个例子更容易解释:
如果我有这段文字:
因此,我想要这样:
<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/