我试图从一个字符串中提取仅限美国的电话号码。
我在网上和SO上搜索过,但没有找到适合我的需求的解决方案。
老实说,我有2.5年的Web编程经验,但我很菜于正则表达式。
这是我写的唯一的正则表达式(\d{3}+\-\d{3}+\-\d{4}+)
但它只能检测589-845-2889
以下是我想要提取的电话号码。
589-845-2889
(589)-845-2889
589.845.2889
589 845 2889
5898452889
(589) 845 2889
请告诉我如何在单个PHP正则表达式中实现此功能。
编辑:
如果您认为用户可以输入任何其他格式的美国号码,请同时提及并在RegEX中包括该信息。
附言:
实际上,我正在尝试爬取Craiglist,并且用户可能以任何可能的格式发布他们的电话号码。
589 845-2889
应该匹配吗? - anubhava