Android 用于匹配所有电话号码的正则表达式

Android 用于匹配所有电话号码的正则表达式,android,regex,phone-number,Android,Regex,Phone Number,我曾尝试将电话号码与Android在模式中提供的正则表达式进行匹配。Phone,这将匹配许多非电话号码的内容。我还尝试使用: (?:(?:\+?1\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]

我曾尝试将电话号码与Android在
模式中提供的正则表达式进行匹配。Phone
,这将匹配许多非电话号码的内容。我还尝试使用:

(?:(?:\+?1\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]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?
但是,我发现并非所有输入都成功。我想使用正则表达式验证以下输入:

  67450450
  +9144-27444444
  27444444 
  27470570
  +12142261347
  +61406366180
  0891 2577456
  2577456
  +91 9550461668
  9550461668
  03-1234567  
  1860 425 3330 

基本上这里支持的任何nymber格式:

这不是干净/高效的,只是为了匹配您的示例数据:

\b\d{7,10}|\+\d{4}-\d{8}|\+\d{11}|\d{4}\s\d{7}|\+\d{2}\s\d{10}|\d{2}-\d{7}|\d{4}\s\d{3}\s\d{4}\b

Patterna.Phone正则表达式会将地址的6位pin码识别为电话号码
\b\d{7,10}|\+\d{4}-\d{8}|\+\d{11}|\d{4}\s\d{7}|\+\d{2}\s\d{10}|\d{2}-\d{7}|\d{4}\s\d{3}\s\d{4}\b