0

以下正则表达式需要获取下面输出的第二行,但它与第一​​行匹配。如何跳过error code|error text|submission reference并匹配 0|sms submitted|eb725f96b4b094d5f8318741cc1a545f-2

表达

(?P<status_code>[0-9]+)|(?P<status_message>.+)|(?P<gateway_message_id>[a-zA-Z0-9-]+)

文本

error code|error text|submission reference
0|sms submitted|eb725f96b4b094d5f8318741cc1a545f-2 
4

1 回答 1

1

您必须转义|符号,因为它们在正则表达式中具有特殊含义。使用这样的表达式,您的第一行将不匹配:

(?P<status_code>[0-9]+)\|(?P<status_message>.+)\|(?P<gateway_message_id>[a-zA-Z0-9-]+)

在不转义您正在搜索的符号的情况下[0-9]+ or .+ [a-zA-Z0-9-]+。然后显然.+匹配整个字符串。有关您的更多信息|,请参阅本教程

于 2013-04-03T17:58:17.170 回答