字符串检查:固定和可变部分

时间:2015-10-09 09:19:06

标签: python regex python-2.7 python-3.x

鉴于这一行:

[4] Item status: FAILED

我想使用最有效和可维护的方式(可能使用正则表达式)来检查这一行是否正确"正确"。这里,正确性意味着

  1. 方括号和文字"Item status: "始终存在
  2. 数字在方括号之间
  3. {li}可能位于: 后报告的
  4. 状态

    我正在寻找一种方法以某种方式将变量注入正则表达式,以解释第3点。

1 个答案:

答案 0 :(得分:3)

我认为你想使用|(“或”)选项,而不是“注入变量”

regex = re.compile(r"""
    \[\d+\]\s+                      # a number in square brackets
    Item\ status:\s+                # followed by Item status:
    (?:FAILED|PASSED|NOT EXECUTED)  # then one of these three options
    $                               # and nothing further
""", re.VERBOSE)    

演示:https://regex101.com/r/gQ6pW4/2

如果列表可以变量,您可以使用str.format'|'.join(options)插入相应的组中。