|
Поиск вождения в строке по регулярному выражению
|
|||
---|---|---|---|
#18+
Здравствуйте всем! Имеем DB2 9.7. Есть табличка со строковым полем. В этом поле хранятся телефонные номера. Но записаны они там в неформатированом виде. Примеры могут быть раличными: "Т.+79111111111", "89111111111 Это у Васи", "8(912)1111111", "89111111111, 79222222222", "8-912-1111111" и т.д. Задача: Максимально вытащить эти номера и при возможности записать в виде 7NNNNNNNNNN. Насколько задача выполнима? Мысль пришла использовать регулярные выражения. Но как с ними дружит DB2 9.7 и с помощью каких функций это сделать? Буду признателен за помощь С уважением, Семен Попов ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 12:27 |
|
Поиск вождения в строке по регулярному выражению
|
|||
---|---|---|---|
#18+
Semen Popov, Добрый день. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 13:39 |
|
Поиск вождения в строке по регулярному выражению
|
|||
---|---|---|---|
#18+
Mark Barinstein, спасибо большое. Очень помогли. Идею понял - удаляете все не цифры, а затем первую восьмерку заменяете на 7. Для тех примеров, которые я привел сработает. Но есть случаи, в значениях которых есть ошибки. Например, пользователь ввел 12 цифр вместо 11 ("890123456789"), или наоборот ввел меньше циф ("8901234567"), или просто введен короткий городской телефон из 6 цифр ("333-22-11"). Такие случаи должны быть выданы без преобразования, как есть. То есть нас интересуют только сотовые телефоны - начинаются с "79" или "89" и имеют длину 11 цифр ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 14:30 |
|
Поиск вождения в строке по регулярному выражению
|
|||
---|---|---|---|
#18+
Semen Popov, Можно так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 14:57 |
|
Поиск вождения в строке по регулярному выражению
|
|||
---|---|---|---|
#18+
Mark Barinstein, премного благодарен. А теперь для повышения уровня знаний спрошу. Есть ли в SQL/PL DB2 9.7 какой-нибудь примитивный инструмент поиска по регулярным выражениям? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 15:05 |
|
Поиск вождения в строке по регулярному выражению
|
|||
---|---|---|---|
#18+
Semen Popov Mark Barinstein, премного благодарен. А теперь для повышения уровня знаний спрошу. Есть ли в SQL/PL DB2 9.7 какой-нибудь примитивный инструмент поиска по регулярным выражениям? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 15:11 |
|
Поиск вождения в строке по регулярному выражению
|
|||
---|---|---|---|
#18+
Semen Popov Есть ли в SQL/PL DB2 9.7 какой-нибудь примитивный инструмент поиска по регулярным выражениям? fn:matches - поиск fn:replace - замена (именно ее испольовали выше) fn:tokenize - разбиение строки на токены ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2021, 15:35 |
|
|
start [/forum/topic.php?fid=43&fpage=2&tid=1600137]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 158ms |
0 / 0 |