技术解析

请问正则表达式 key.replace(/<\/?.+?>/g,""); 是说明意思?最好能举例说明。
0
2021-08-23 20:50:22
idczone
//js 去除换行
function clearBr(key)
{
key = key.replace(/<\/?.+?>/g,"");
key = key.replace(/[\r\n]/g, "");
return key;
}

replace(/[\r\n]/g, ""); 可以看懂;

请问正则表达式 key.replace(/<\/?.+?>/g,""); 是说明意思?最好能举例说明。对照手册猫眼看明白。
/<\/?.+?>/g, 匹配所有的 html 的 tag 标签。不过这个应该写得有点问题。
正确的应该是 /<\/?[^>]+?>/g,

https://regexper.com/#%3C%5C%2F%3F.%2B%3F%3E

如果 non-greedy 是支持的, 他的跟你的没区别, 而且如果按你这么写, 那个问号可以去掉.
他的是 non-greedy matching, 所以第一个碰到> 就 matched 了
不过, 实际中[^>]+ 比 .+? 好

谢谢各位的解答

他想匹配这个呗:


不是. 他这个式子匹配 or

.+? 意思就是 .+ 然后开启非贪婪模式。所以没错误能正常匹配

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服