我正在尝试匹配一个解析响应的正则表达式。。。。。在
error code|error text|submission reference
2|missing or invalid fields|0
它使用re.match(self.error_format)
我尝试过错误格式为:
^{pr2}$但这与error code|error text|submission reference
行匹配,而不是根据需要匹配第二行。在
也尝试过:
(?P<status_code>[0-9]+)\|(?P<status_message>.+)\|(?P<gateway_message_id>[a-zA-Z0-9-]+)
但这根本不匹配。在
更新:
我想做的是只匹配2 |缺失或无效字段| 0,但全文是错误代码|错误文本|提交参考2 |缺失或无效字段| 0,因此我需要跳过第一部分。在
即
msg = re.match('(?P<status_code>[0-9]+)\|(?P<status_message>.+)\|(?P<gateway_message_id>[a-zA-Z0-9-]+)', 'error code|error text|submission reference 2|missing or invalid fields|0')
尽量不要匹配分隔符。像这样:
收益率
^{pr2}$完全匹配,然后可以通过
msg.group('status_code')
访问各个部分不带\的版本也会匹配,但它只会捕获“2”,并且不会填充第二行示例中的所有三个组。在
如果您想在包含多行的文本上运行此操作,可以执行以下操作
^{pr2}$或者反过来说:
我想这涵盖了所有的选项,而且没有一个选项与第一部分中没有数字错误代码的第一行相匹配。在
相关问题 更多 >
编程相关推荐