К предисловию, я новичок в регулярных выражениях.У меня есть строка, которая выглядит примерно так:
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
Я хочу вернуть уникальные файлы XML, которые являются частью my_folder
.Таким образом, регулярное выражение вернется:
my_folder/foo.xml
my_folder/bar.xml
my_folder/hello.xml
Я посмотрел на Извлечь все уникальные линии , что близко к тому, что мне нужно, но я не уверен, куда идти дальше.
Самая близкая попытка, которую я получил, была (?sm)(my_folder\/.*?.xml)(?=.*\1)
, которая получает все дубликаты, но я хочу противоположного, поэтому я попытался сделать отрицательный взгляд вперед вместо (?sm)(my_folder\/.*?.xml)(?!.*\1)
, но группы захвата совершенно не верны.
Чего мне не хватает в моем регулярном выражении?Вот ссылка на регулярное выражение: https://regex101.com/r/ggY2RB/1