Я пытаюсь извлечь условие блока if в файле.c, используя python regexp. Строка будет примерно такой:
if((x==z)&&(x<y))
или же
if(x==9)
или же
if((x==10) &&
(y==9))
поэтому возможны 2 варианта.
Ожидаемый результат: полное состояние внутри самого внешнего кронштейна.
Я написал этот код для определения состояния одной строки, но застрял в многострочном состоянии.
import re
with open("code.txt", "r") as ins:
array = []
for line in ins:
array.append(line)
trimLine = line.lstrip();
trimLine = trimLine.rstrip();
result = re.findall(r'if', trimLine)
if result != []:
print (re.search( "\((.*)\)" ,trimLine).group(1))
TIA для любого руководства.
по умолчанию . не соответствуют новой строке. вы должны использовать re.DOTALL, чтобы он соответствовал новой строке.