Скажем, у меня есть следующая функция
def func(self, arg1=None, arg2=None):
"""
Returns the product for the specified arg1 and arg2.
Args:
arg1: argument 1
arg2: argument 2
Returns:
product of arg1 for arg2.
DAL Owner: Team IT
Data Owner: Team A
"""
return arg1*arg2
Мне нужно сопоставить только то, что находится в тройных кавычках.Я смог сопоставить его как группу, используя следующее регулярное выражение
def func.*?\):.*?\"\"\"(.*)\"\"\"
Но это не позволяет мне легко заменять строки в python.Поэтому мне нужно захватить строку документации как матч, а не группу.Я попробовал lookbehind (?<=def f2)
, но затем столкнулся с переменной длиной, которая не разрешена в задаче lookbehind.Любые идеи о том, как это сделать, будут высоко оценены.
ОБНОВЛЕНИЕ :
Я действительно хотел бы знать, можно ли это сделать с точным соответствием, т.е.не нужно использовать несколько групп захвата