我正在尝试搜索一行中的特定模式。模式来自列表。我尝试使用以下逻辑,但它的语法错误。我不明白这个原因。有人可以解释一下吗?我在下面列出了我的代码中的要求,
我想启用模式搜索并在一行python代码中迭代列表,而不是在2行中进行迭代。
import re
cell = ['abc', 'def']
line = '/* Begin cell: abc */'
for c in cell if re.search(r".*Begin cell.*%s.*" % c, line, re.I):
print 'Match'
注意到错误,
File "<ipython-input-47-241664c42555>", line 5
for c in cell (if re.search(r".*Begin cell.*%s.*" % c, line, re.I)):
^ SyntaxError: invalid syntax
答案 0 :(得分:0)
语法错误与for
或re.search
无关。你不能像if
这样:它需要是一个单独的声明。
for c in cell:
if re.search(r".*Begin cell.*%s.*" % c, line, re.I):
print 'Match'