Имя: Пароль:
1C
1С v8
Регулярка для телефона
0 alexei366
 
29.10.13
13:27
Вот придумал тут регулярку "( *[\+]? *( *\d+ *(- *\d+ *)*)*(\(( *\d+ *(- *\d+ *)*)+\) *)*( *\d+ *(- *\d+ *)*)+){1,32}".
Она у меня такая чтобы пользователь совершенно по разному мог забить. В ней значит пробелы могут быть где угодно и в любом количестве, в начале необязательно но может быть "+", после "+" или цифры с тирешками или скобки. Скобок тоже скоко угодно, но в каждой из них должны быть цифры с тирешками. Ну а после скобок обязательно должно быть хоть скоконибудь цифорок.

Есть мысли как упростить, но оставить логику, а то чото мне кажеться она громосткой
1 Котокот
 
29.10.13
13:28
Нормуль, чо!
Кста, а как лучше регулярки в 1С юзать?
2 alexei366
 
29.10.13
13:30
(1) Ты чо хош сначало определись
3 Лефмихалыч
 
29.10.13
13:34
если известно, что в строке будет только один номер, я бы регуляркой вырезал все, что не цифра [^\d]+ и потом уже работал бы с тем, что осталось, как с номером. Там по длине видно - есть код страны или нет, есть код региона или нет
4 alexei366
 
29.10.13
13:35
(3) Да я какбы её в пакете XDTO использую, так что вырезать насколько я знаю не катит))
5 Лефмихалыч
 
29.10.13
13:37
(4) ну и фигли вы тогда еще хотите? медленно работает или чо?
6 Котокот
 
29.10.13
13:39
(2) Есть текст, внутри которого разбросано несколько номеров телефонов разных форматов - с +7 или без, с кодом города и без него и т.д. Вот эти номера телефонов надо вырезать из текста.
7 alexei366
 
29.10.13
13:42
(5) Да я же написал, есть мысли красивее сделать, так скажем укоротить
8 alexei366
 
29.10.13
13:50
(6) Погугли наверно статьи разные, чо да как.
Ну во первых тебе строку надо разбить на подстроки учитывая символ разделитель типа ",.:;", ну а уже с подстроками работать
9 Котокот
 
29.10.13
13:52
(8) Разбить так, чтобы каждый номер был в отдельной подстроке?
10 alexei366
 
29.10.13
14:49
(9) Да там хоть даже без регулярки, ищешь запятые и режешь, или при помощи RegExp "[^,]*"
11 alexei366
 
29.10.13
17:04
Ап
12 alexei366
 
29.10.13
17:08
блин загибается RegExp по моей регулярке при выражении к примеру

"8 348 573 34 9 7 4 78-"

Когда тире ставишь, а если укоротить но норм "54 345-"

Как будто цикл гдето
13 alexei366
 
29.10.13
17:58
Никто не вкурсе?
Основная теорема систематики: Новые системы плодят новые проблемы.