正则删除文本域中重复行怎么写?

一个多行文本框,里面每一行一个ip地址。有很多重复的。
我希望点一下按钮就把重复的删除,剩下不重复的。
请问正则可以做到吗。谢谢。

阅读 2.5k
2 个回答

正则表达式本身并不具有去重的功能, 你可以使用正则表达式来匹配出文本中的所有 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);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题