s
- оператор замещения. Обычно для разделителя используется «/»:
s/foo/bar/
, но это не обязательно: вместо этого в качестве разделителей можно использовать ряд других символов. В этом случае, '!' был использован в качестве разделителя, по-видимому, чтобы избежать необходимости экранировать символы '/' в реальном тексте, который нужно заменить.
В вашем конкретном случае в первой строке удаляется сопоставление текста '. +?'; то есть он удаляет теги 'foo' с содержимым или без него.
Вторая строка заменяет все ';' символы с символами '/', глобально (все случаи).
Эквивалентный код на Python использует модуль re
:
f=re.sub(searchregx,replacement_str,line)