-1

のように、10 桁で 2 文字の数字を持つ複数の電子メール アドレスを取り込まなければならないという問題があります1234567891AB

これをスムーズに行うRegex.Split()ために、同じ情報とのコミュニケーションが増えて配列に追加したいので、私を使用しようとします。

入力: (Outlook から)

"Here comes number on the consignment 1020289847AB."

次のようなスクリプトを作成しようとしています。

string[] BODY = Regex.Split(item.body, @"[^\d$]");

現在のアウトパブ: 1020289847

私が望む出力: 1020289847AB

4

5 に答える 5

0

この正規表現を試してください

\d+([a-zA-Z]){2}

特に前の 10 桁をターゲットにしたい場合

\d{10}+([a-zA-Z]){2}
于 2013-04-17T07:08:51.707 に答える
0

次に、次のようなものが必要です。

@"\d{10}\D{2}"
于 2013-04-17T07:09:18.057 に答える
0

以下の正規表現を試してください。10 桁を取得し、2 文字の小文字または大文字を許可します。

\d{10}[a-zA-Z]{2}

(\d{10})([a-zA-Z]{2}) - Added Groups for digits and letters
于 2013-04-17T07:09:25.807 に答える
0

どうですか:

string[] BODY = Regex.Split(item.body, @"[^\d{10}[A-Z]{2}$]");

これは、ちょうど 10 桁の数字の後に 2 つの大文字が続く場合にのみ一致します。

于 2013-04-17T07:09:41.040 に答える
0

数字の後に 2 文字だけが必要な場合は、使用する必要があるように聞こえます。

\d{10}\D{2}

いくつかの一致例。

3753391729¾~
9446154600Û\

コーディングしましょう。

string s = "Here comes number on the consignment 1020289847AB.";
Regex regex = new Regex(@"\d{10}\D{2}");
Match match = regex.Match(s);

if (match.Success)
{
    Console.WriteLine(match.Value);
}

出力は次のとおりです。

1020289847AB

ここに がありDEMOます。

于 2013-04-17T07:16:55.503 に答える