regex - 正则表达式删除与第二个字符串匹配的行?
问题描述
我有一长串类似这样的情况的行,第二个单词(空格后的第二个字符串)相同的行,但其余的不同。我只需要保留一行唯一的第二个字符串。仅适用于具有相同第二个单词且始终连续的行。例如,我有几行:
线A 12345
线B 12345
线C 12345
线D
788878 线E
110881 线F 110881 线G 110881 线H 287778 线J
251287 线
K 242424
线
L 242424
线
M 242424
对这个结果
线A 12345 线D 788878 线E 110881 线H 287778 线J 251287 线K 242424
因此,如果行中的第二个单词匹配,则删除除一行之外的所有单词。我尝试创建正则表达式,但只有在第一个单词匹配时才会删除,我不知道如何像示例中那样对空格后的第二个单词执行此操作。
^(\S++).*\K(?:\R\1(?:\h.*|$))+
解决方案
推荐阅读
- wix - 使用 WIX 安装程序升级到较新版本不会复制新文件
- python - 如何在 Pandas Python 中比较两个文本文件并在不同的 Excel 或文本文件中突出显示输出
- python - Matplotlib 绘图:AttributeError:'list' 对象没有属性'axhline'
- clojure - 如何在 Clojure 中正确导入 Twilio Java 库?
- java - 无法到达控制器中的端点,尽管它正在初始化
- r - r swirl - 无法运行 swirl 课程,得到神秘的错误信息
- powershell - 如何将字符串值转换为正确的类型
- python - python中子图像的错误方差
- python - 我怎样才能拥有启用/禁用按钮附近条目的功能?
- javascript - javascript 在 window.addEventListener 中使用 window["my_func"]()