Професионална програма
Loading...
+ Нов въпрос
radybt avatar radybt 9 Точки

[Programming Fundamentals] 2. Match Phone Number

Задачата е от регекс лаба. Като гледах днешната подготовка за изпита супер адванст регекс ще трябва за решението на някой задачи, не знам защо така всичкото ни го изсипаха баш накрая преди изпита на фона на останалия материал... се тая, сега закърпвам познанията по регекса и ще съм доволен ако дадете някакви решения на тая задача(само регекс), защото изгубих 1 година и още не мога да разбера как да направя така че +359-2 222 2222 да бъде невалидно. Аз съм написал, че може да има тире или спейс но не знам как да направя така че ако има и от двете да е невалидно. 

Тагове:
0
Programming Fundamentals 07/07/2017 19:51:43
icowwww avatar icowwww 975 Точки

В тая задача не мога да видя какво се иска да влиза като вход и какво да излиза като изход. Не знам какво ще я правиш ама ми се струва, че регекс като тоя може да свърши работа 

( ?\+359 2 \d{3} \d{4}\b)|(\+ ?359-2-\d{3}-\d{4}\b)

 

Едит: видях в judge излизат на един ред и трябва да се изкарат всички, които мачват патерна: https://pastebin.com/AqqnjL6x
 

0
07/07/2017 02:31:18
RIFFRAFF avatar RIFFRAFF 7 Точки

До този момент единственият начин ,който аз намерих това да стане е чрез ползване на предходна група.

В случая ако това е регекс-а : "\+([359]+)([-| ])2(\2)(\d{3})(\2)(\d{4})\b";

Взимаш втора група ,която търси тиренце или спейс - "([-| ])" и преизполваш нейният резултат ,където ти е нужно ,за да си сигурен, че са еднакви - (\2) .

Загадка - решение : https://pastebin.com/Ph3zxuKL

0
24/06/2018 14:25:44
AlexPri avatar AlexPri 4 Точки

This blog post is about programming fundamentals. Programming fundamentals is a step by step procedure of programming which is very necessary for the proper working of websites. You should try cNumber for 01234 numbers for a better experience and keep sharing such a good post in the future.

0