Я ищу файл строки за строкой для появления ## random_string ##. Он работает при многократном # кроме ...Python Регулярное выражение Соответствие: ## ##
pattern='##(.*?)##'
prog=re.compile(pattern)
string='lala ###hey## there'
result=prog.search(string)
print re.sub(result.group(1), 'FOUND', string)
Желаемая Выход:
"lala #FOUND there"
Вместо этого я получаю следующее, потому что его захватывая все ### эй ##:
"lala FOUND there"
Так как бы я проигнорировал любое число # в начале или конце и только захватил «## string ##».
будьте осторожны с использованием ленивых кванторов, таких как '(. *?)', Потому что он будет соответствовать '## abC#####' и захватить 'abC###'.также ленивые кванторы очень медленны. – glebm