我有一个字符串
$$_### ABC ###_$$ $$_### PQR ###_$$ $$_### XYZ ###_$$
我希望将$$_###
替换为li
代码,将###_$$
替换为结束li
代码。
所以最终输出应为<li>ABC</li><li>PQR</li><li>XYZ</li>
我使用的是这个
str = $$_### ABC ###_$$ $$_### PQR ###_$$ $$_### XYZ ###_$$;
new_str = (str.replace(/$$_###/g,'<li>')).replace(/###_$$/g,'</li>');
它似乎没有用。
new_str = (str.replace('$$_###','<li>').replace('###_$$','</li>');
工作正常,但当然我想要全球替代。
任何帮助都将深受赞赏。
答案 0 :(得分:4)
$
是正则表达式中的一个特殊字符,它断言我们处于一行的末尾。因此,您需要按顺序转义美元符号以匹配文字$
符号。
new_str = str.replace(/\$\$_###/g,'<li>').replace(/###_\$\$/g,'</li>');
答案 1 :(得分:0)
$是正则表达式中的特殊字符,意思是行尾。你需要用一个&#39; \&#39;在每个regular_expressions的正则表达式文字中。
替换只是文本替换文本,因此不需要转义。
这是一个链接,您可以在其中看到它正常运行并进行测试 - regex101