Regex для извлечения номера телефона из строки - PullRequest
0 голосов
/ 15 октября 2018

Каково регулярное выражение для извлечения телефонного номера из этого:

Входящий звонок в 17:10:54 с 07970123123 (Тед Банди)

или

Входящий звонок в 17:10:54 с 07970 123123 (Тед Банди)

Я хотел бы получить:

07970123123

Моя попытка:

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

1 Ответ

0 голосов
/ 15 октября 2018

Следующий шаблон RegEx будет искать всю строку и искать 11 последовательных цифр, которые будут возвращены как совпадения $1:

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

Вы можете использовать его и добавить пробелы в начале и в конце совпадениянапример:

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

... или если номер телефона не всегда может быть 11 цифрами:

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

ОБНОВЛЕНИЕ: Добавление вклада Ахмеда длядиапазон 11-14 и вероятность того, что шаблон для сопоставления содержит пробелы.

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