Я пишу простое средство обновления версий на Python, и движок регулярных выражений доставляет мне много проблем.
В частности, ^ и $ не совпадают правильно даже с опцией re.MULTILINE.Строка совпадает без ^ и $, но без радости в противном случае.
Буду признателен за помощь, если вы заметите, что я делаю неправильно.
Спасибо
target.c
somethingsomethingsomething
NOTICE_TYPE revision[] = "A_X1_01.20.00";
somethingsomethingsomething
versionUpdate.py
fileName = "target.c"
newVersion = "01.20.01"
find = '^(\s+NOTICE_TYPE revision\[\] = "A_X1_)\d\d+\.\d\d+\.\d\d+(";)$'
replace = "\\1" + newVersion + "\\2"
file = open(fileName, "r")
fileContent = file.read()
file.close()
find_regexp = re.compile(find, re.MULTILINE)
file = open(fileName, "w")
file.write( find_regexp.sub(replace, fileContent) )
file.close()
Обновление : спасибо Джону и Итану задействительная точка.Тем не менее, регулярное выражение по-прежнему не соответствует, если я держу $.Он снова работает, как только я уберу $.