JavaScript字符串:获取两个并排放置的内容并将它们包装在一起

时间:2019-07-11 14:02:25

标签: javascript html regex

我正在尝试创建一个小的脚本,该脚本将包装例如像这样的<p>标签:<p>... 'displayed text'[popup content] ...</p>在跨接包装中。

最终结果如下:

<span class='wrapper'>
  displayed text
  <span class='popup'>popup content</span>
</span>

目前,我能够像这样在撇号之间找到并替换文本:

some_string.replace(/'(.*?)'/g,'<span>$1</span>');

但是我真的很想先包装popup content部分,然后将其与displayed text一起包装在wrapper元素内。

有可能吗?

1 个答案:

答案 0 :(得分:1)

好的-怎么样?

some_string.replace(/'(.*?)'\[(.*?)\]/, "$1<span class='popup'>$2</span>");

如果正则表达式的两个部分之间可以用空格隔开,请在它们之间添加一个\s*

/'(.*?)'\s*\[(.*?)\]/