[英]REGEX in python2.7
我似乎無法弄清楚如何在python中全部匹配的情況下編寫正則表達式以進行匹配:
我需要使用正則表達式來匹配{'ERROR_CODE':
首先,其后可以是5XX或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')
任何幫助將不勝感激。
如何使其在整個范圍400-499或500-599上匹配。
4和5是常數,第二個和第三個數字均為0-9位數字。 因此,您可以像這樣制作一個正則表達式:
re.compile(r"\{'ERROR_CODE': [45]\d{2}\}")
匹配數字以4或5開頭,后跟2位數字。
這是您可以做到的一種方法:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.