Пропустить слеши в регулярном выражении, пока не найдётся определённая строка
Недавно я экспериментировал с regex. Тестировал на этом сайте, потом на Python. У меня есть следующее выражение:
^(Resources\/)*
Вот мои строки:
Resources/
Resources/hello
Resources/test
Resources/Resources/abc123
Resources/Hello
Resources/Resources/Resources/sup.txt
Resources/mods/Resources/Unknown.test/test.txt
Ожидаемый вывод:
Resources/
Resources/hello
Resources/test
Resources/abc123
Resources/Hello
Resources/sup.txt
Resources/mods/Unknown.test/test.txt
Полученный вывод:
Resources/
Resources/hello
Resources/test
Resources/Resources/abc123
Resources/Hello
Resources/Resources/Resources/sup.txt
Resources/mods/Resources/Unknown.test/test.txt
Я также пробовал изменять выражение:
^(Resources\/)*
Но результат был тот же самый.
Вот мой код Python:
from re import sub as regexsub
# ...
class ...:
resfold_nosep = 'Resources'
sep = '/'
# ...
def ...(...):
# ...
path = ...
regexsub("({}{}){2,}".format(self.resfold_nosep, sep), "", path, 1)
Мой вопрос: как сделать так, чтобы в строках заменялись все случаи появления Resources/?
Источник: Stack Overflow на русском