匹配包含“错误”的任何字符串,期望“错误:0”

时间:2016-10-31 10:26:00

标签: python regex match

如何编写与包含“Error”的任何字符串匹配的常规表达式,“Errors:0”除外,即当它以0结尾时。

例如:当字符串以“错误:1”结尾时,它应匹配。

现在我将这个正则表达式与re.match

一起使用
r'^.*ERROR|FATAL|PROBLEM.*$'"

但是,它匹配包含“Error”的所有字符串。

1 个答案:

答案 0 :(得分:2)

ng-repeat="i in items track by $index" 匹配:

  • re.match(r'^.*ERROR|FATAL|PROBLEM.*$', s) - 字符串的开头(由于^.*ERROR默认情况下将模式锚定在字符串的开头),除了换行符之外的任何0 +字符,然后是re.match
  • ERROR - (仅在FATAL的字符串开头!)
  • re.match - PROBLEM.*$位于字符串的开头,然后是除了换行符之外的任何0+字符。

您可能想要使用

PROBLEM

其中re.search(r'(?:ERROR(?!S:\s*0$)|FATAL|PROBLEM)', s, flags=re.I) 将匹配未跟随ERROR(?!\s*0$)的字符串内的任何ERROR,0个或更多个空格(S:)和字符串结尾({{ 1}})。

请参阅an online Python demo

要进一步增强模式,请考虑在\s*周围使用$来匹配单词\b(...)ERROR作为整个单词。< / p>