电话号码使用正则表达式从HTML中提取

本文关键字:HTML 提取 正则表达式 电话号码 | 更新日期: 2023-09-27 18:20:20

我想使用正则表达式从HTML中提取一个电话号码。我正在使用此regex

'd{4}'s'd{3}'s'd{3}

用于电话号码CCD_ 1。此正则表达式成功地从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);
        }
    }
}

电话号码使用正则表达式从HTML中提取

编辑:我刚刚重读了你的问题,听起来你想从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}表示可以有35 'd s。