C# 使用regex从HTML中提取电话号码
我想使用正则表达式从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}$ 但现在它甚至没有提取任何有效的数字 我该怎么办? 编辑: 编辑:我刚
\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}