如何使用正则表达式在javascript的字符串的开头和结尾删除<br/>?

时间:2015-10-21 02:37:42

标签: javascript regex

我有这个结果字符串:

 <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>

使用console.log

时,

预期输出

   This is an example!<br>Test1!<br>Test2!

1 个答案:

答案 0 :(得分:2)

您已关闭,您正在寻找的是更改|

var remove = string.replace(/^(<br>)+|(<br>)+$/g, "");

这将匹配^(<br>)+ (<br>)+$,并且由于您的正则表达式是全局的,因此两个出现都将被替换。

直播示例:

&#13;
&#13;
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;
&#13;
&#13;

我还会用非捕获组((?:...))替换捕获组,但这可能只是我的OTT:

var remove = string.replace(/^(?:<br>)+|(?:<br>)+$/g, "");