我有这个结果字符串:
<br><br><br>This is an example!<br>Test1!<br>Test2!<br><br>
尝试代码:
var string = "<br><br><br>This is an example!<br>Test1<br>Test2<br><br>";
var remove = string.replace(/^(<br>)+/g, "");
console.log(remove);
但是,当我在$
末尾添加(<br>)
时,这些代码只会删除字符串中的第一个字符串,因此我的代码会失败。我的问题是如何删除字符串开头和结尾的<br>
?
预期输出
This is an example!<br>Test1!<br>Test2!
答案 0 :(得分:2)
您已关闭,您正在寻找的是更改:|
var remove = string.replace(/^(<br>)+|(<br>)+$/g, "");
这将匹配^(<br>)+
或 (<br>)+$
,并且由于您的正则表达式是全局的,因此两个出现都将被替换。
直播示例:
var string = "<br><br><br>This is an example!<br>Test1<br>Test2<br><br>";
var remove = string.replace(/^(<br>)+|(<br>)+$/g, "");
snippet.log(remove);
&#13;
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="//tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
&#13;
我还会用非捕获组((?:...)
)替换捕获组,但这可能只是我的OTT:
var remove = string.replace(/^(?:<br>)+|(?:<br>)+$/g, "");