如果在python中匹配所有匹配,我似乎无法弄清楚如何编写正则表达式匹配:
我需要首先匹配{'ERROR_CODE':
的正则表达式,然后可以是5XX OR 4XX,结束于}
我可以指定并使其工作,如何使其在整个范围400-499或500-599匹配。
// python snippet
err_pattern = re.compile("{\'ERROR_CODE\': 500}|{\'ERROR_CODE\': 404}")
if all(err_pattern.match(str(values)) for values in self.set.values()):
output.append('All are 4XX and 5XX')
任何帮助都将受到高度赞赏。
答案 0 :(得分:1)
如何使其在整个范围400-499或500-599匹配。
4和5是常数,第二和第三个数字都是0-9位数。因此你可以制作这样的正则表达式:
re.compile(r"\{'ERROR_CODE': [45]\d{2}\}")
哪个匹配号码以4或5开头,后跟2个数字。
答案 1 :(得分:1)
这是你可以做到的一种方式:
import re
values = ["{'ERROR_CODE': 500}",
"{'ERROR_CODE': 404}",
"{'ERROR_CODE': 501}",
"{'ERROR_CODE': 409}]"]
err_pattern = re.compile("\{\'ERROR_CODE\': [45]\d{2}\}")
for value in values:
if err_pattern.match(value):
output = "All are 4XX and 5XX"
else:
output = "Some values are not error codes"
break
print output
# All are 4XX and 5XX