1

電子メールの件名を読み取り、IDを含む特定の文字列について件名をチェックする機能をWebアプリケーションに実装しているため、受信した電子メールをアプリケーションのプロジェクトと照合できます。

件名は次のようになります。スタンバイ船の要件2013年3月7日[FIX:1012]

角かっこで囲まれた文字列を識別し、そこから数字だけを引き出す必要があります:「1012」

これまでのところ、私はこれを思いついた:

\[[a-z]{5}:[0-9]{4}\]\Z

しかし、これは文字列全体にのみ一致します:[FIX:1012]

ここからどこへ行くの?

4

2 に答える 2

0

ここにあなたの正規表現コードがあります:

     [0-9]+(?:\.[0-9]*)?+(:*?])

これにより、「:」「]」の間にある1012番号が得られます

于 2013-03-07T13:16:17.977 に答える
0

後読みと先読みを使用します。

(?<=\[[a-z]{5}:)[0-9]{4}(?=\]\Z)

?<=後読みであり、?=先読みです。

グループの使用:

最初のグループに入れるために括弧に入れてください:

\[[a-z]{5}:([0-9]{4})\]\Z

グループを使用するには、次のようになります (未テスト):

Match match = regex.Match(input);
if (match.Success)
{
    string v = match.Groups[1].Value;
    Console.WriteLine("{0}", v);
}

参照

また:

あなたの文字列でどのように機能するかはよくわかりません[a-z]{5}(これは正確に5つの小文字のみです)。

于 2013-03-07T13:08:52.630 に答える