|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
Добрый день Прошу покритиковать решение. Интересно где есть избыточность - может быть можно меньшим количество кода обойтись или более быстрое решение есть. Код: python 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2020, 13:18 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
А как сделать минимально самодостаточный сорс? А то в этом чего-то не хватает. Код: python 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2020, 13:49 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
Правильное решение задачи начинается с её правильной постановки. А твое "как бы его мог ввести человек" это не задача, а пепец. Человек "может" ввести его задом наперед в восьмеричном исчислении. Опиши формально, какой формат считается корректным, тогда можно будет о чем-то говорить. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2020, 13:53 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
Иногда бизнес приходит к программисту и почёсывая ухо говорит дескыть вот надо такую штуку сделать. Шобы значить вот эти целепхончики были гуд. А эти - фуфу. Слишком сильно давить на наличие постановки я-бы не стал. И данная техническая сторя вполне по силу к обобщению программистом. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2020, 14:14 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
mayton бизнес приходит к программисту Ну и, вот, у меня к "бузинесу", например, сразу же вопрос: +9 123 456-78-90 вполне себе нормальный индийский номер, с какого лешего он "Fail!". ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2020, 14:27 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
fkthat mayton бизнес приходит к программисту Ну и, вот, у меня к "бузинесу", например, сразу же вопрос: +9 123 456-78-90 вполне себе нормальный индийский номер, с какого лешего он "Fail!". Беря во внимание что у нас сейчас нед диалога с бизнесом - предлагаю просто порассуждать на тему критики решения. А тестовый кейс просто воспринимать как данность. Если что - скорректируем. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2020, 14:37 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
Саму регулярку что писал автор я еще не смотрел. Но КМК если мы будем явно идти от позитивных кейсов - то мы потеряемся. Нам проще проверить негативные. Тоесть разделить универсум на хорошие телефоны и плохие. А не так как автор - искать из вселенной немалое и тоже по мощности бесконечное количество вариантов и потом в остатке получать негативные. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2020, 14:57 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
Как-то так. Еще добавить проверку на парность скобочек, пофиксить ошибку компилляции и все тесты будут зеленые. Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2020, 15:58 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
mayton Саму регулярку что писал автор я еще не смотрел. Я бы вообще делал без регулярки. 1) убираем из строки все кроме цифр 2) если цифр 11 и начинается на 7 - не делаем ничего 3) если цифр 11 и начинается на 8 - заменяем 8 на 7 4) если цифр 10, то добавляем спереди 7 5) иначе ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2020, 17:32 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
Я вообще - не знаю python. Так. Посмотрел названия строковых функций и как делать foreach. Кто знает что за херня? Код: python 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2020, 17:59 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
mayton разделить универсум на хорошие телефоны и плохие. С практической точки зрения, проверить "хороший" телефон можно только позвонив на него. Какой смысл в "хорошести" номера, если на него все равно никто не отвечает. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2020, 19:06 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
В топике речь идет о сборе сведений. После того как телефоны собраны - их можно дать на вход роботу который делает обзвон. Но согласись.. было бы странно роботу скидывать мусор вообще не проверив ничего. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2020, 19:19 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
Лично меня задолбали телефонные спамеры, я бы этот топик просто закрыл, но поделюсь методом борьбы с этими уродами: звонок принять, не сбрасывать, просто положить телефон на стол и пусть они кричат "алло". Робот переключит на оператора, оператор поаллокает, эффективность спама упадет. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2020, 22:16 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
Dima T Лично меня задолбали телефонные спамеры, я бы этот топик просто закрыл, но поделюсь методом борьбы с этими уродами: звонок принять, не сбрасывать, просто положить телефон на стол и пусть они кричат "алло". Робот переключит на оператора, оператор поаллокает, эффективность спама упадет. Андроид неплохо детектирует спам по своим БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2020, 23:21 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
Меня бы больше беспокоили не спамеры а коллекторские звонки когда номер не определен. Интересно зачем мобильные операторы это позволяют. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2020, 23:30 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
Проверка парности скобочек - была задачей на собес. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2020, 23:48 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
mayton Интересно зачем мобильные операторы это позволяют. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2020, 07:01 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
fkthat Правильное решение задачи начинается с её правильной постановки. А твое "как бы его мог ввести человек" это не задача, а пепец. Человек "может" ввести его задом наперед в восьмеричном исчислении. Опиши формально, какой формат считается корректным, тогда можно будет о чем-то говорить. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2020, 08:14 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
mayton, прошу прощения, исходник не полный. В начало нужно добавить import re ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2020, 08:17 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
авторЯ бы вообще делал без регулярки. 1) убираем из строки все кроме цифр 2) если цифр 11 и начинается на 7 - не делаем ничего 3) если цифр 11 и начинается на 8 - заменяем 8 на 7 4) если цифр 10, то добавляем спереди 7 5) иначе ошибка. Вот кстати да. Замечательное решение. На кой черт проверять всякие дефисы и прочие блажи, которые сделаны для читаемости и или запоминаемости человеком, если по тому же телефону идет тупой дозвон по набору циферок. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2020, 08:35 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
авторЯ вообще - не знаю python. Так. Посмотрел названия строковых функций и как делать foreach. Кто знает что за херня? mayton, так вроде нет ошибки text.find("+",1) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2020, 08:36 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
fkthat mayton Саму регулярку что писал автор я еще не смотрел. Я бы вообще делал без регулярки. 1) убираем из строки все кроме цифр 2) если цифр 11 и начинается на 7 - не делаем ничего 3) если цифр 11 и начинается на 8 - заменяем 8 на 7 4) если цифр 10, то добавляем спереди 7 5) иначе ошибка. у меня так и сделано. Только код страны ($cn) не разбирается, потому что для РФ. Но в целом, всё что левее 10 цифр - это код страны. Либо придётся ловить дефисы, если код города по длине не 3... Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
непонятно только, а это как: авторЯ бы вообще делал без регулярки. 1) убираем из строки все кроме цифр БЕЗ регулярки? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2020, 10:24 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
Соглашусь, что для проверки номера регулярки можно использовать минимально. Думаю, при они будут уместнее для поиска номеров в тексте. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2020, 11:07 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
tip78 непонятно только, а это как: авторЯ бы вообще делал без регулярки. 1) убираем из строки все кроме цифр БЕЗ регулярки? Ну, именно это можно и регуляркой, а можно и без неё. Не знаю, как в питоне, но в шарпе без регулярки это можно как-нибудь так: Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2020, 13:20 |
|
Форматирование номера телефона регулярками на питоне
|
|||
---|---|---|---|
#18+
По поводу этого выражения и моих претензий. Код: sql 1.
Существуют метрики сложности кода. Они оценивают количество циклов и ветвлений и количество уникальных сущностей типа переменная или функция. Это не для регулярок а для простых императивных языков где есть if-else-switch-while-for-dowhile...e.t.c Они также оценивают мозговые усилия человека по анализу или прочтению кода. В данном конкретном случае - компактность записи регулярки в 1 строку - это некий самообман. Здесь мы используя квантовую механику регулярок сжали целый алгоритм парсера и описали в строке. И это есть проблема. На самом деле программисту удобно изучать код описаный короткими записями с отступами (эдакий себе Haskell/Lisp/Python style) при котором вложение описывается как глубина отступа от края листа. Изучать - же это выражение - сложно. Нам как-бы хочется вставить туда перенос. Я обычно добавляю смысловые метки наподобие. Код: sql 1.
и переводы строк после каждой группы с меткой. Это позволяет ориентироваться по смыслам. Писать-же 100% логики в регулярке - это как экспериментировать с brainfck. Оно работает - но разработчик тратит больше ценных человеко-часов на анализ проблем впоследствии. И это та причина по которой Perl исходники обычно non-supportable и умирают будучи вытесняемыми более простыми и понятными языками в сегменте веба например. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2020, 13:38 |
|
|
start [/forum/topic.php?fid=16&msg=40022998&tid=1339709]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
others: | 254ms |
total: | 453ms |
0 / 0 |