0

正規表現を使用して HTML から電話番号を抽出したいと考えています。私はこの正規表現を使用しています

\d{4}\s\d{3}\s\d{3}

電話1234 546 567番号 この正規表現は、指定された電話番号を HTML から正常に抽出します。

しかし、次のような別の数値 (抽出したくない)がある場合に問題が発生します1234 567 89023。現在、この番号からも抽出1234 567 890していますが、その番号から何も抽出したくありません。

次に、正規表現を次のように変更しました

^\d{4}\s\d{3}\s\d{3}$

しかし、今では有効な数値を抽出していません。

私は何をすべきか?編集:

string MatchAusPhoneNumber = @"\D(\d{4}\s\d{3}\s\d{3})\D";
MatchCollection mathph2 = Regex.Matches(chk, MatchAusPhoneNumber);

foreach (Match matchio in mathph2)
{
    foreach (Capture capture in matchio.Captures)
    {
        if (my.ContainsKey(capture.Value) == false)
        {
            my.Add(capture.Value, capture.Value);
            mylist.Add(capture.Value);
        }
    }
}
4

1 に答える 1

2

編集:あなたの質問を読み直したところ、HTMLから4-3-3桁のグループを抽出したいようです。この場合は、次のような正規表現を試してください。

\D(\d{4}\s\d{3}\s\d{3})\D

\D数字以外のすべてに一致します。これ()は、最初のキャプチャ グループで実際の電話番号をキャプチャすることです。


古い回答: 数字の最後のグループを 3 ~ 5 文字にしたい場合は、これを試してください。

\d{4}\s\d{3}\s\d{3,5}

\d{3,5}s まで存在できること3を意味し5 \dます。

于 2013-06-28T12:53:19.130 に答える