簡體   English   中英

python2.7中的正則表達式

[英]REGEX in python2.7

我似乎無法弄清楚如何在python中全部匹配的情況下編寫正則表達式以進行匹配:

  • {'ERROR_CODE':500}
  • {'ERROR_CODE':404}
  • {'ERROR_CODE':501}
  • {'ERROR_CODE':409}

我需要使用正則表達式來匹配{'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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM