Задана строка, как \url{www.mywebsite.com/home/us/index.html}'
, я хотел бы заменить часть URL до второго до последнего косую черту с www.example.com/
, так что она становится:Замена регулярных выражений с группами
\url{www.example.com/us/index.html}`
Я полагаю, что по крайней мере одна косая черта существует в URL-адресе. Теперь это то, что я пробовал.
>>> pattern = r'(\url{).*([^/]*/[^/]*})'
>>> prefix = r'\1www.example.com/\2'
>>> re.sub(pattern, prefix, '\url{www.mywebsite.com/home/us/index.html}')
'\\url{www.example.com//index.html}'
Я не знаю, почему us
часть не включается в результат, хотя я явно включал [^/]*
внутри регулярного выражения.
Ах право! Или, альтернативно, я мог бы использовать ленивую версию 'pattern = r '(\ url {). *? ([^ /] */[^ /] *})'' –
Спасибо за ваш ответ! –