我正在尝试创建正则表达式列表,但会自动添加一个新的'\'
a = ['\s+ interface *', '\s+ address', '\s+ priority \d']
>>> a[2]
'\\s+ priority \\d'
我尝试做这样的事情
with open('conf.txt') as f:
lines = f.readlines()
for i in lines:
for s in a:
if bool(re.match(s, i)):
print('i')
所以基本上我有一个配置文件,我想找到一些特定的命令(列表a)。因此,该命令具有一种格式,因此我需要一个正则表达式。
我想做等同于此的事情:
for i in lines:
if bool(re.match('\s+ interface *', a)):
print('i')
elif bool(re.match( '\s+ address', a)):
print('i')
elif bool(re.match( '\s+ priority \d', a)):
print('i')
答案 0 :(得分:0)
您的列表中确实包含单个斜杠。如果要打印字符串,请尝试这样操作:
a = ['\s+ interface *', '\s+ address', '\s+ priority \d']
print( '%s'%a[0] )
输出将是
\s+ interface *
请注意,它只有一个斜杠。
答案 1 :(得分:0)
该想法按预期工作。我的问题是正则表达式本身。