Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用regex从HTML中提取电话号码_C#_Regex - Fatal编程技术网

C# 使用regex从HTML中提取电话号码

C# 使用regex从HTML中提取电话号码,c#,regex,C#,Regex,我想使用正则表达式从HTML中提取电话号码。 我正在使用这个正则表达式 \d{4}\s\d{3}\s\d{3} 电话号码1234 546 567。此正则表达式成功地从HTML中提取给定的电话号码 但当有另一个数字(我不想提取)时,就会出现问题:1234 567 89023。现在它也从这个数字中提取了1234567890,但我不希望它从这个数字中提取任何东西 然后我把正则表达式改为 ^\d{4}\s\d{3}\s\d{3}$ 但现在它甚至没有提取任何有效的数字 我该怎么办? 编辑: 编辑:我刚

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

\d{4}\s\d{3}\s\d{3}
电话号码
1234 546 567
。此正则表达式成功地从HTML中提取给定的电话号码

但当有另一个数字(我不想提取)时,就会出现问题:
1234 567 89023
。现在它也从这个数字中提取了
1234567890
,但我不希望它从这个数字中提取任何东西

然后我把正则表达式改为

^\d{4}\s\d{3}\s\d{3}$
但现在它甚至没有提取任何有效的数字

我该怎么办? 编辑:


编辑:我刚刚重读了你的问题,听起来你想从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.

vb.net标记在哪里?\d{4}\s\d{3}\s\d{3,5}OP不希望
1234 567 89023
匹配@艾哈迈德克莱姆:是的,他知道。“然后我将正则表达式改为……但现在它没有提取任何数字。”这意味着他希望它提取数字。听起来@Nomi想要匹配文本中的数字,在这种情况下,
^
$
是不必要的(否则这将不匹配第一种情况)。我只想要数字(phonenumber)@Nomi哦,好的。我以为你也想匹配5位数。我已经编辑了我的答案。
\d{4}\s\d{3}\s\d{3,5}