|
|
|
Помогите с написанием регулярки
|
|||
|---|---|---|---|
|
#18+
Приветствую! Ребят помогите пожалуйста написать универсальное регулярное выражение для вариаций телефонов (это доля телефонов для стран Саудовской Аравии) Кто как хочет так и пишет поэтому сложно описывать все. 0014023224433 +966509710198 (966)509710198 (966) 509710198 +0966509710198 00201008069377 532 532 0550 4242-3939-05 4-2-4-2-3-9-3-9-0-5 0127366318 0020171876161 Также могут использоваться и другие разделители типа ! или * (4*2*4*2*3*9*3*9*0*5) Вся эта лабудень находится в общем коде, поэтому привязки к началу и концу почти нет. Буду признателен за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2014, 12:38 |
|
||
|
Помогите с написанием регулярки
|
|||
|---|---|---|---|
|
#18+
Kreol, что-то типа "[\d|\s\(\)+!*\-]{10,23}[,\s\n]" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2014, 14:50 |
|
||
|
Помогите с написанием регулярки
|
|||
|---|---|---|---|
|
#18+
Kreol, Будет проще, если удалить все "не цифры": Код: java 1. имхо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2014, 15:28 |
|
||
|
Помогите с написанием регулярки
|
|||
|---|---|---|---|
|
#18+
Kreol, тут и регекспы не очень нужны. Фактически идёт случайная строка в которой подмешаны не менее 10 цифр. Я-бы эту проверку запилил просто как Java-код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2014, 15:53 |
|
||
|
Помогите с написанием регулярки
|
|||
|---|---|---|---|
|
#18+
UsmanKreol, Будет проще, если удалить все "не цифры": Код: java 1. имхо Мы щас по проекту спорим. У нас много кода где идёт String::replaceAll(...). В основном в Rest-методах где делаем замену типа http://host/path/{arg1}/{arg2} заменяем на значения аргументов. Вобщем профайлер показывает что цепочка реплейсов не так шустра как хотелось-бы. Вобщем обсуждаем использование StringUtils вместо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2014, 15:58 |
|
||
|
Помогите с написанием регулярки
|
|||
|---|---|---|---|
|
#18+
maytonВобщем профайлер показывает что цепочка реплейсов не так шустра как хотелось-бы.Да, есть такое. Для ускорения замены нужно вынести "наружу" скомпилированный паттерн, чтобы не создавать его при каждом вызове String.replaceAll() : Код: java 1. а дальше пользоваться такой конструкцией: Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2014, 16:31 |
|
||
|
Помогите с написанием регулярки
|
|||
|---|---|---|---|
|
#18+
maytonВобщем обсуждаем использование StringUtils вместо.Apache Commons - вещь крутая. +100500. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2014, 16:46 |
|
||
|
Помогите с написанием регулярки
|
|||
|---|---|---|---|
|
#18+
Usman[/src]а дальше пользоваться такой конструкцией: Код: java 1. Хорошая мысль. +1. А экземпляр матчера будет потоко-безопасен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2014, 16:51 |
|
||
|
Помогите с написанием регулярки
|
|||
|---|---|---|---|
|
#18+
maytonА экземпляр матчера будет потоко-безопасен?Instances of this class (Pattern) are immutable and are safe for use by multiple concurrent threads. Instances of the Matcher class are not safe for such use.метод matcher() - потокобезопасен, а класс Matcher - нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2014, 17:00 |
|
||
|
Помогите с написанием регулярки
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответы. Но к сожалению Все эти телефоны идут в куче текста. И там помимо них есть еще море других цифр. Поэтому вариант удалить все нецифры неканает. А вариант AndreTM не подходит для случаев когда пробелов 2 и больше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2014, 17:07 |
|
||
|
Помогите с написанием регулярки
|
|||
|---|---|---|---|
|
#18+
Kreol, чудак. Ты как нам задачу поставил? Ребят помогите пожалуйста написать универсальное регулярное выражение для вариаций телефонов (это доля телефонов для стран Саудовской Аравии) Кто как хочет так и пишет поэтому сложно описывать все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2014, 17:23 |
|
||
|
Помогите с написанием регулярки
|
|||
|---|---|---|---|
|
#18+
Да нормально я поставил задачу, просто говорю, что не подходит способ удаления всего что не число, ибо данные номера находятся в куче текста, в котором также присутствуют числа ( ну хтмл даже этой страницы) У меня прога воспринимает только регекспы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2014, 18:21 |
|
||
|
Помогите с написанием регулярки
|
|||
|---|---|---|---|
|
#18+
Kreol, ты программный интерфейс опиши. Что у тебя вход. Что выход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2014, 18:31 |
|
||
|
Помогите с написанием регулярки
|
|||
|---|---|---|---|
|
#18+
KreolДа нормально я поставил задачу Конечно, любой дурак отличит телефон от набора цифр ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2014, 20:12 |
|
||
|
Помогите с написанием регулярки
|
|||
|---|---|---|---|
|
#18+
Kreolвариант AndreTM не подходит для случаев когда пробелов 2 и большеА кто мешает это поправить, указав точно, как определить окончание номера? И да, в вашем примере - не было двух пробелов :) А если попробовать рассуждать, то, например, три и больше пробелов посреди цифр - наверняка означают разные телефонные номера. Иначе, как вам и посоветовали - нужно предварительно обработать входную строку. И, главное, дать пользователю возможность "окинуть взглядом" источник и результат. Поскольку точной формализации для вашей задачи - не существует (Как пример - сравните "10цифр+1пробел+10цифр" и "14цифр, чередующихся с 15разделителями". В первом случае мы "видим" два номера, во втором - всего один). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2014, 14:10 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38776475&tid=1341197]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
58ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 336ms |

| 0 / 0 |
