0

次の正規表現は、以下の出力の 2 行目を取得する必要がありますが、最初の行と一致します。スキップ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 に答える