Софтуерно Инженерство
Loading...
+ Нов въпрос
tishkata86 avatar tishkata86 14 Точки

Java Exam 19 June Problem 03.Cubic's Message Regex

Здравейте доста време си играх на изпита да намеря правилен регекс на задача и все не успявах, нулевите минават, a другите не. Накрая седнах  в нас днес и реших да я пробвам без регекс и за има няма 20 мин я реших и ми даде 100 точки, при което изпаднах в ...., но не е там въпроса. Исках да попитам ако някой я е решил с регекс моля да покаже регекса за тази задача, защото ми е интересно какъв ще е той. Благодаря предварително. Ето го и решението без регекс: http://pastebin.com/RDvTqNzg

Тагове:
2
Java Web Development 21/06/2016 00:01:49
stellastoyanova avatar stellastoyanova 26 Точки

Здравей,

Реших задачата с ето този регекс - ^\\s*(\\d+)([a-zA-Z]{%d}) - намирам съобщението и числата пред него, но понеже не успях да измисля как да проверя дали има букви след това със самия регекс, правя отделна проверка. Ето цялото решение: http://pastebin.com/nWkp0A85

2
IskrenPenev avatar IskrenPenev 177 Точки

Здравей,

на изпита използвах този регекс ^([0-9]+)([a-zA-Z]+)([^a-zA-Z]*)$".  Хваща началото на стринга, след това първата група лови само числа, втората група улавя самото съобщение, а третата група всичко след съобщението (всичко без букви). С знака $  накрая се уверяваш че третата група е хванала края на стринга и си 100% сигурен че няма други букви освен самото съобщение.

Това е залото ми решение: https://gist.github.com/iskren-penev/d3ead2f8131eb30a8191bc82c6a5d049

2
tishkata86 avatar tishkata86 14 Точки

Благодаря Ви много! И аз пробвах в нас с един регекс същия като на Iskren, но пак не ми се получаваше въпреки че наистина този регекс си работеше като хората и явно съм обърквал нещо после в раздробяването :/ Благодаря все пак.

0
AntonPortenov avatar AntonPortenov 77 Точки

Здравей, това е регекса  , който използвах на изпита.

String regex = "(^[0-9]+[A-Za-z]{" + textSize + "}[\\W\\d]*$)";

 

променливата textSize е патерна от брой букви, който ни сеподаваше

1