我想检查一个字符串匹配不同的模式之一。是否可以在elif中保存比赛结果?为了说明:
if foo = re.match(r'add (.+)', message):
print(foo.group(1))
elif foo = re.match(r'del (.+)', message):
print(foo.group(1))
else:
print("bar")真正的用例更复杂一些,elif的使用可以使它更加清晰。
发布于 2016-04-03 16:32:50
像这样
add_check = re.match(r'add (.+)', message)
del_check = re.match(r'del (.+)', message)
if add_check:
print(add_check.group(1))
elif del_check = :
print(del_check.group(1))
else:
print("bar")或者像这样,只有在第一个测试没有通过时才进行第二个测试:
add_check = re.match(r'add (.+)', message)
if add_check:
print(add_check.group(1))
else:
del_check = re.match(r'del (.+)', message)
if del_check:
print(del_check.group(1))
else:
print("bar")发布于 2016-04-03 16:33:09
如果条件是用于计算逻辑语句及其对应的真值,则为分支逻辑,而不是分配变量。您可以将foo和bar设置为相应的匹配,然后测试if foo / elif bar -如下所示:
foo = re.match(r'add (.+)', message)
bar = re.match(r'del (.+)', message)
if foo:
print(foo.group(1))
elif bar:
print(bar.group(1))
else:
print('fubar')https://stackoverflow.com/questions/36387995
复制相似问题