例如:
var str="<br>hi<br>hi";
Run Code Online (Sandbox Code Playgroud)
替换最后一个(第二个)<br>,
改变成 "<br>hihi"
我试过了:
str.replace(/<br>(.*?)$/,\1);
Run Code Online (Sandbox Code Playgroud)
但这是错的.什么是正确的版本?
Gum*_*mbo 13
你可以使用量词贪婪的事实:
str.replace(/(.*)<br>/, "$1");
Run Code Online (Sandbox Code Playgroud)
但缺点是它会导致回溯.
另一个解决方案是拆分字符串,将最后两个元素放在一起然后连接部分:
var parts = str.split("<br>");
if (parts.length > 1) {
parts[parts.length - 2] += parts.pop();
}
str = parts.join("<br>");
Run Code Online (Sandbox Code Playgroud)
我想你想要这个:
str.replace(/^(.*)<br>(.*?)$/, '$1$2')
Run Code Online (Sandbox Code Playgroud)
这贪婪地匹配从开始到 a 的所有内容<br>,然后是 a <br>,然后不贪婪地匹配所有内容到结尾。
| 归档时间: |
|
| 查看次数: |
9406 次 |
| 最近记录: |