我有一个带下划线的字符串,其中某些单词需要用打开的<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,正则表达式来获取它?
答案 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。