【发布时间】:2018-12-02 03:21:19
【问题描述】:
我想使用正则表达式在文本中查找电话号码。我的电话号码公式是:
(?:(?:\+?\d*\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{3})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$
在一行中没有任何其他文本时,正在查找数字。但是,当它位于某些文本的中间时,则找不到它。我该如何解决?
这是示例的链接: regexr.com/3rf0l
【问题讨论】:
-
不错的开始,但有一些限制。如果 +1 实际上是国家/地区代码,则 10 位电话号码会从第 10 位下降。此外,尽管按照下面的建议删除 $ 将回答您的问题,但您需要处理行以数字结尾并以数字开头的情况。
标签: regex