我已尝试在js中使用替换功能,但我无法找出正确的模式。我一直得到错误的输出。
t = "<TR><TD>Some Text</TD></TR>,<TR><TD>Some Text</TD></TR>,";
t = t.replace(/[TR\>\,]/g, "TR>");
对此有任何帮助将不胜感激。
答案 0 :(得分:5)
[]
定义字符类,表示“[...]
”中的任何字符。你不希望这样。
只需删除它们:
t = t.replace(/TR>,/g, "TR>");
您也不需要在>
或,
之前使用反斜杠,所以我也删除了反斜杠。
我不以任何方式与它有任何联系,但是当我处理JavaScript regex时,我发现https://regex101.com/#javascript非常方便。
实例:
var t = "<TR><TD>Some Text</TD></TR>,<TR><TD>Some Text</TD></TR>,";
snippet.log("Before: " + t);
t = t.replace(/TR>,/g, "TR>");
snippet.log("After: " + t);
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
答案 1 :(得分:1)
试试这个
t = t.replace(/TR>,/g, "TR>");
答案 2 :(得分:1)
方括号[]
用于匹配其中的任何一个字符。因此,您的正则表达式将匹配T
,R
,>
和,
,而不是您想要的TR>,
。如果要匹配确切的字符串,只需使用字符串/TR>,/g
t = t.replace(/TR>,/g, "TR>");
答案 3 :(得分:0)
replace( /TR>,/g, "TR>" )
&#13;
答案 4 :(得分:0)
var t = "<TR><TD>Some Text</TD></TR>,<TR><TD>Some Text</TD></TR>,";
t = t.replace(/TR>,/mg, "TR>");
alert(t);
输出:
<TR><TD>Some Text</TD></TR><TR><TD>Some Text</TD></TR>
REGEX EXPLANATION
Match the character string “TR>,” literally «TR>,»
Insert the character string “TR>” literally «TR>»
答案 5 :(得分:0)
你可以这样做:
t = "<TR><TD>Some Text</TD></TR>,<TR><TD>Some Text</TD></TR>,";
t = t.replace(/TR>,/g, "TR>");
alert(t)