Сега като преглеждам слайдовете и действието на функцията с регулярни изрази за телефонните номера ми се струва доста неясно.
Защо и за 02555469 и 023456 връща, че са валидни номера?
Телефона трябва да с 5-7 цифри без 02-то или със него? Без него втория номер не е валиден, със него първия не е валиден, но май няма как и двата да са едновременно верни.
Програмиране с Python » Форуми » Общи въпроси
Лекцията за регулярни изрази
(4 posts)-
Posted 5 years ago #
-
Може би трябва да се чете като "5-7 символа по който и да е от двата начина".
Posted 5 years ago # -
А ако иде реч защо самият регулярен израз ги "оценява" като валидни — той действително действа по метода "5-7 символа, по който и да е от двата начина." Тъй като (02)? е зададено с квантор за 0 или 1 срещане, то ако номерът като цяло е 5-7 символа, регулярният израз "не брои" 02 в групата. От друга страна, ако номерът започва с 02, последвано от, например 6 символа, то тогава целият номер има дължина общо 8 символа и в този случай, регулярният израз "брои" 02 и така дължината на останалите цифри попадва в желаната граница — 5-7.
Posted 5 years ago # -
мерси
Posted 5 years ago #
Reply
You must log in to post.