一个多行文本框,里面每一行一个ip地址。有很多重复的。
我希望点一下按钮就把重复的删除,剩下不重复的。
请问正则可以做到吗。谢谢。
const regex = /\n?(^\d+(?:\.\d+){3}$)(?=.*\1)/sgm;
const str = `123.23.45.5
123.23.45.7
123.23.45.5
123.23.45.5
123.23.45.6
123.13.45.5
123.23.45.5
123.23.45.5
123.23.45.5`;
const subst = ``;
// 替换的值将会被包含在结果变量中
const result = str.replace(regex, subst).replace(/^\s*$\n/g,'');
console.log(result);
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
正则表达式本身并不具有去重的功能, 你可以使用正则表达式来匹配出文本中的所有 IP 地址,然后再使用其他方法来去重