0

以下のテキストをその形式で正常に解析して、

To: User <test@test.com> 

To: <test@test.com>

以下のテキストを解析しようとすると

/To:.*<[A-Z0-9._+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}>/mi

つかむ

Message-ID <CC2E81A5.6B9%test@test.com>, 

私は私の答えにそれを望んでいません。

$と\zを使用してみましたが、どちらも機能しません。私は何が間違っているのですか?

解析する情報

To: User <test@test.com> Message-ID <CC2E81A5.6B9%test@test.com>
To:

<test@test.com>

これは、Rubularhttp://rubular.com/r/DQMQC4TQLVでの私の解析情報です

4

2 に答える 2

1

ワイルドカードの後に​​疑問符を追加して、ワイルドカードを貪欲でないものに一致させる必要があります。

To:.*?<[A-Z0-9._+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}>
于 2012-07-21T20:35:43.657 に答える
1

ツール/言語が正確に指定されていないため、仮定を行う必要があります。

一般に、正規表現のパターンマッチングは積極的に行われる傾向があり、可能な限り長いパターンと一致します。パターンはで始まります。これは、から一致した.*パターンの残りの部分で終わる可能な限り長い文字列と一致することを意味します。<[A-Z0-9._+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}><CC2E81A5.6B9%test@test.com>Message-ID

Apalalaとnhahtdhの両方のコメントは、あなたに試してみる何かを与えてくれます。最初はオールインクルーシブ.*を避け、もう少し具体的なものを使用します。先頭のスペースに一致させるか、本当に興味のあるものの最初の部分を除いて何かに一致させます。

于 2012-07-21T20:48:25.887 に答える