这个问题意味着与语言无关.只使用正则表达式,我可以找到并替换文件中的重复行吗?
请考虑以下示例输入和我想要的输出;
输入>>
11
22
22 <-duplicate
33
44
44 <-duplicate
55
Run Code Online (Sandbox Code Playgroud)
输出>>
11
22
33
44
55
Run Code Online (Sandbox Code Playgroud) 首先,我是regex的初学者。我有一个看起来像这样的字符串:
my_folder/foo.xml::someextracontent
my_folder/foo.xml::someextracontent
another_folder/foo.xml::someextracontent
my_folder/bar.xml::someextracontent
my_folder/bar.xml::someextracontent
my_folder/hello.xml::someextracontent
Run Code Online (Sandbox Code Playgroud)
我想返回的一部分的唯一XML文件my_folder。因此正则表达式将返回:
my_folder/foo.xml
my_folder/bar.xml
my_folder/hello.xml
Run Code Online (Sandbox Code Playgroud)
我看过“ 提取所有唯一行”,它接近我的需要,但我不确定从那里去哪里。
我最接近的尝试是(?sm)(my_folder\/.*?.xml)(?=.*\1)获取所有重复项,但我想要相反的选择,因此我尝试进行负前瞻,(?sm)(my_folder\/.*?.xml)(?!.*\1)但捕获组完全错误。
我的正则表达式中缺少什么?这是正则表达式的链接:https : //regex101.com/r/ggY2RB/1