[英]Extract variables using python regex
輸入文件包含以下幾行:
a=b*c;
d=a+2;
c=0;
b=a;
現在,對於每一行,我想提取已使用的變量。例如,對於第一行,輸出應為[a,b,c]
。當前我正在執行以下操作:
var=[a,b,c,d] # list of variables
for line in file_ptr :
if '=' in line :
temp=line.split('=') :
ans=list(temp[0])
if '+' in temp[1] :
# do something
elif '*' in temp[1] :
# do something
else :
# single variable as line 4 OR constant as line 3
是否可以使用正則表達式來做到這一點?
編輯:
上述文件的預期輸出:
[a,b,c]
[d,a]
[c]
[a,b]
我將使用re.findall()
來匹配示例編程語言中變量名的任何模式。 假設使用一種典型的語言,這可能對您有用:
import re
lines = '''a=b*c;
d=a+2;
c=0;
b=a;'''
for line in lines.splitlines():
print re.findall('[_a-z][_a-z0-9]*', line, re.I)
我不確定您要做什么,但是您可以執行以下操作:
re.split(r'[^\w]', line)
給出該行中字母字符的列表:
>>> re.split(r'[^\w]', 'a=b*c;')
['a', 'b', 'c', '']
這是我做的:
l=re.split(r'[^A-Za-z]', 'a=b*2;')
l=filter(None,l)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.