字符串用打开和关闭html标签替换下划线

时间:2018-08-28 19:36:49

标签: javascript regex

我有一个带下划线的字符串,其中某些单词需要用打开的<i>和关闭的</i> html标签替换。

这是我到目前为止的内容,但这是下划线本身,而不是单词
 var t2= str.replace(/_/, '<i>$&</i>');
结果<i>_</i>Lorem Ipsum<i>_</i> is simply dummy text

我需要的是<i>Lorem Ipsum</i> is simply dummy text
来自_Lorem Ipsum_ is simply dummy text

我该如何使用javascript,正则表达式来获取它?

1 个答案:

答案 0 :(得分:4)

您可以使用

var str = "_Lorem Ipsum_ is simply dummy text";
var t2 = str.replace(/_([^_]*)_/g, '<i>$1</i>');  
console.log(t2);

详细信息

  • _-匹配下划线
  • ([^_]*)-第1组:除_以外的零个或多个字符
  • _-下划线。

替换项包含替换后向引用$1,它在<i></i>之间插入第1组值。

请参见regex demo