发布网友 发布时间:2024-10-24 14:18
共3个回答
热心网友 时间:2024-11-02 11:25
可以用正则表达式先匹配出,带引号的变量
使用split(',')分开,在结果的列表中,找到不带引号的变量。合并后,就是完整的变量表了。
a = r'"a,b","ab",line' #原始变量字符串
arg = re.findall(r'\".+?\"',a) #找出带引号的变量
lst = a.split(',') #原始变量字符串,使用逗号分开
for x in in lst: #找到变量列表中不含引号的字符串
if '\"' not in x:
arg.append(x) #追加入变量参数列表
这样,arg就是你要的变量列表了
热心网友 时间:2024-11-02 11:23
我觉得光用正则表达式搞不定,最好加点词法分析和语法分析,比如pyparsing库什么的。就可以分析出c声明和函数,看你的需求了。否则你光是用正则表达式去匹配,肯定有很多情况考虑不到的。
热心网友 时间:2024-11-02 11:22
这样的compiler一般用ast然后walk你的python代码。
你要只是按string处理的话,等于自己重新写一个parser,费力不讨好的。