正则表达式从字符串中提取 phone 数字

Regex to extract phone number from string

从中提取电话号码的正则表达式是什么:

Inbound Call at 5:10:54 PM from 07970123123 (Ted Bundy)

Inbound Call at 5:10:54 PM from 07970 123123 (Ted Bundy)

我想得到:

07970123123

我的尝试:

^[a-zA-Z]\s[0-24]:[0-59]:[0-59][a-z] ( [0-9] ) [a-zA-Z]$

以下 RegEx 模式将搜索整个字符串并查找 11 个连续数字 return 作为匹配项 </code>:</p> <pre><code>^.*(\d{11}).*$

您可以使用它并在匹配前后添加空格,如下所示:

^.*\s(\d{11})\s.*$

...或者如果 phone 数字可能不总是 11 位数字:

^.*\s(\d+)\s.*$

更新: 添加 Ahmed 对范围 11-14 的贡献以及要匹配的模式包含空格的可能性。

^.*\s([\d\s]{11,14})\s.*$