Regex 如何通过删除前面的Pin码,通过web抓取获得仅用于联系人号码的正则表达式? publicstaticvoidmain(字符串[]args)引发异常{ 模式cp1=Pattern.compile(“(\\(?\+?\\d{1,3}\)?[\\s-]+)?\(?\\d{1,3}\)?[\\s-]+\\d{3}[\\s-]?\\d{2}[\\s-]?\\d{2}[\\s-]; Set contacts=new HashSet(); Document doc=Jsoup.connect(“http://www.ejrsearch.com/contact-us.html“”.ignoreHttpErrors(true).userAgent(“Mozilla”).timeout(0.get(); 元素doc1=文件选择(“正文”); Matcher matcherc=cp1.Matcher(doc1.text()); while(matcherc.find()){contacts.add(matcherc.group());} System.out.println(“联系人:+联系人);} 在doc1.text()中

Regex 如何通过删除前面的Pin码,通过web抓取获得仅用于联系人号码的正则表达式? publicstaticvoidmain(字符串[]args)引发异常{ 模式cp1=Pattern.compile(“(\\(?\+?\\d{1,3}\)?[\\s-]+)?\(?\\d{1,3}\)?[\\s-]+\\d{3}[\\s-]?\\d{2}[\\s-]?\\d{2}[\\s-]; Set contacts=new HashSet(); Document doc=Jsoup.connect(“http://www.ejrsearch.com/contact-us.html“”.ignoreHttpErrors(true).userAgent(“Mozilla”).timeout(0.get(); 元素doc1=文件选择(“正文”); Matcher matcherc=cp1.Matcher(doc1.text()); while(matcherc.find()){contacts.add(matcherc.group());} System.out.println(“联系人:+联系人);} 在doc1.text()中,regex,Regex,请与我们联系,我们希望收到您的来信!如果您正在寻找您的 下一个位置或是对那个“高性能”的球员有帮助 为您送货请与我们联系。EJR搜索合作伙伴1440百老汇 纽约州第23层10018212-410-4141info@ejrsearch.com版权所有2011, EJR搜索。版权所有 实际上,地址是纽约州纽约市百老汇23楼1440号EJR Search Partners 10018212-410-4141 输出: 联系人:[018212-410-4141] 但我只想要联系电话,避免使用pin码 请仅

请与我们联系,我们希望收到您的来信!如果您正在寻找您的 下一个位置或是对那个“高性能”的球员有帮助 为您送货请与我们联系。EJR搜索合作伙伴1440百老汇 纽约州第23层10018212-410-4141info@ejrsearch.com版权所有2011, EJR搜索。版权所有

实际上,地址是纽约州纽约市百老汇23楼1440号EJR Search Partners 10018
212-410-4141

输出: 联系人:[018212-410-4141]

但我只想要联系电话,避免使用pin码


请仅通过修改现有模式来帮助我解决此问题。提前感谢:)

用于以不同格式匹配电话号码的通用正则表达式:

public static void main(String[] args) throws Exception {
    Pattern cp1 =Pattern.compile("(\\(?\\+?\\d{1,3}\\)?[\\s-]+)?\\(?\\d{1,3}\\)?[\\s-]+\\d{3}[\\s-]?\\d{2}[\\s-]?\\d{2,}");
    Set<String> contacts = new HashSet<String>();
    Document doc = Jsoup.connect("http://www.ejrsearch.com/contact-us.html").ignoreHttpErrors(true).userAgent("Mozilla").timeout(0).get();
    Elements doc1 = doc.select("body");
    Matcher matcherc = cp1.matcher(doc1.text());
    while (matcherc.find()) {contacts.add(matcherc.group());}
    System.out.println("Contacts:"+contacts);}}
用于匹配问题中提供的文档中的电话号码的正则表达式:

(\(?\+?\d{1,3}\)?[\s-]+)?\(?\d{1,3}\)?[\s-]+\d{3}[\s-]?\d{2}[\s-]?\d{2,}

这不是一个真正的java问题,而是一个正则表达式问题。应该标记适当的多个问题的帖子不太可能被回答,你应该专注于一个特定的点。解决这个问题很简单:^[\d-]+@Teja但是在你编辑这个问题之前,我想你也尝试用一些其他条件来解决它。Pincode大部分是6位数字。如果您的pincode位于新行上,那么您可以使用以下命令:^[\d-]{8,}我试过这样做。公共静态void main(String[]args){Pattern cp1=Pattern.compile(\(?\+?\\d{1,3}\)?\(?\\d{1,3}\)?[\\s-]+\\d{3}[\\s-]?\\d{2}[\\s-]?\\d{2,}”);设置联系人=new HashSet();文档doc Jsoup.connect(;;元素doc1=doc doc select(“body”);Matcher=cp1.text();Matcher=cp1.text();添加联系人时查找Matcher({(matcherc.group();}sop(“联系人:“+Contacts”);}}}输出:联系人:[018 212-410-4141]这个正则表达式是否可以为您在regexr.com的body部分粘贴html body,并查看它是否匹配所有内容。然后,也许我们可以看到java的实现问题。正如您可以在此处看到它匹配所有内容一样。同时添加所有案例:在后台,body是这样出现的“菜单联系我们我们希望收到您的来信!如果您正在寻找下一个职位,或寻找能够为您提供帮助的“高性能”播放器,请与我们联系。EJR搜索合作伙伴1440百老汇23楼纽约NY 10018 212-410-4141info@ejrsearch.com版权所有2011,EJR搜索。保留所有权利。“更新问题,并请提供您试图匹配的所有详尽案例。
[0-9-]{8,}