请问正则表达式 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
.+? 意思就是 .+ 然后开启非贪婪模式。所以没错误能正常匹配