我想解析一个文件,当模式匹配继续测试正则表达式时。因为我想处理返回值,我写道:
while (m=test.match(data)) != None:
pass
在我的想法中,我想影响m
到test.match(data)
,并且在测试后是否为无。但是我用这个语法:
SyntaxError:语法无效
如何在没有SyntaxError的情况下编写此内容?
答案 0 :(得分:1)
你不能在循环子句中使用赋值:
m = test.match(data)
if not m:
pass
答案 1 :(得分:1)
您不能在任何需要条件的语言中使用while循环进行分配。
我怀疑您正在尝试扫描文件以匹配模式,然后再使用它们。在这种情况下,match()
不是正确的功能。 IMHO
variable = "123abc"
t = re.match("[a-z]+",variable) //returns null as word not in the beginning
t = re.search("[a-z]+",variable) // matches as it scans through