Forum Webscript.Ru

Программирование => Регулярные выражения => Тема начата: Berkut от 11 Февраля 2005, 16:47:25

Название: номера телефонов
Отправлено: Berkut от 11 Февраля 2005, 16:47:25
помогите вырезать номера телефонов из текста. Может есть готовый патерн?
Нужно вырезать при таких вариантах написания
88462424242
8 84624242
8 8462 424242

846424242
8462 424242
8462 42 42 42
8462 42-42-42
8(8462)424242
424242

Короче, любой логичный способ написаня номера телефона.
8 (8462) 42-42-42 == 18 знаков, 11 цифр
Название: номера телефонов
Отправлено: Berkut от 12 Февраля 2005, 15:33:29
ладно, такой вопрос: почему
паттерн
/(\\d?(\\(|-|\\))?\\d){7,11}/
может возвращать больще 11 знаков?
\'ihbb 6666666 7777777kkk  (888)8888 5555-55555555555555555 8462-42-42-42\'
выводит
[0]=>
  array(5) {
    [0]=>
    string(7) "6666666"
    [1]=>
    string(7) "7777777"
    [2]=>
    string(9) "(888)8888"
    [3]=>
    string(22) "5555-55555555555555555"
    [4]=>
    string(13) "8462-42-42-42"
  }

3-й элемент 22 символа!?