Мне нужно уникальное регулярное выражение для замены подстроки или добавления ее, если она отсутствует.
Пример:
set beta=10
"alpha=25 beta=42 delta=43" need to become "alpha=25 beta=10 delta=43"
"alpha=25 delta=43" need to become "alpha=25 delta=43 beta=10"
Этот следующий код работает только для замены существующего значения, но если индексзамена не существует, она ничего не добавляет.
dest = re.sub(r'(.*)(beta=\d+)( .*)',r'\1 beta=10 \3',source)
Я могу сделать это, но мне нужен этот результат в одном выражении:
if re.search(r'beta=\d+',source):
dest = re.sub(r'(.*)(beta=\d+)( .*)',r'\1 beta=10 \3',source)
else:
dest = source + " beta=10"
Так что, если бета = xx существуетв строке, и она не соответствует бета = yy, тогда замените
Так что если бета = xx не существует в строке, тогда добавьте бета = yy к строке