电话号码使用正则表达式从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中提取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}
表示可以有3
到5
'd
s。