我正在使用 HtmlAgilityPack 来解析网页。加载文档后,我想从 HTML 中提取可能的电话号码。目前,我为此目的使用了一些正则表达式。我有以下代码检查网页中电话号码的匹配
private static string phoneReg =
@"[\+]{0,1}(\d{10,13}|[\(][\+]{0,1}\d{2,}[\13)]*\d{5,13}|\d{2,6}[\-]{1}\d{2,13}[\-]*\d{3,13})";
private static Regex phoneRegex = new Regex(phoneReg, RegexOptions.IgnoreCase);
var phoneMatches = phoneRegex.Matches(doci.DocumentNode.InnerText);
doci
html 敏捷包的HtmlDocument
抽象在哪里。问题是它无法匹配某些电话号码,例如08450 211 211
和+44 (0) 1246 733 000
。
是否有一个通用的正则表达式最适合抓取网站并且允许匹配大多数形式的国际电话号码?