跳过第一行标题并在第二行匹配

时间:2013-04-03 17:42:14

标签: regex

以下正则表达式需要获得下面输出的第二行,但是它在第一行上匹配。如何跳过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 

1 个答案:

答案 0 :(得分:1)

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

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

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

相关问题