gpt4 book ai didi

python - 使用 python regexp 提取 IF 多行条件

转载 作者:太空宇宙 更新时间:2023-11-03 21:45:10 25 4
gpt4 key购买 nike

我正在尝试使用 python regexp 提取 .c 文件中 if block 的条件。该字符串将类似于以下内容:

if((x==z)&&(x<y))

if(x==9) 

if((x==10) &&
(y==9))

所以可能有两种变化。

  1. 内部可能有也可能没有嵌套括号。
  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 这样它也会匹配新行。

enter image description here

关于python - 使用 python regexp 提取 IF 多行条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52554190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com