Loading...
stefoto avatar stefoto 51 Точки

Чудесно си се справил, колега! Много добър стил на писане имаш със създаването на методи. Довечера и аз ще пусна моите решения на задачите.

0
mihayloff14 avatar mihayloff14 824 Точки

Ето и моите решения на задачит от домашното. особено интересна ми се стори последната задача :)

04.JavaCollections

3
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Тези regex-и са доста пипкави... На 8-ма задача мисля, че твоя regex не хваща всички възможни email-и.

За user частта в условието е указано, че винаги трябва да започва с буква или цифра и  отделните думи може да се отделят с  [ ._- ] (точка, долно тире и тире). Съответно няма ограничение на символите за user частта.

За host частта е указано, че се състои от поне 2 думи, разделени с [.] (тока). Няма ограничение обаче на броя думи, разделени с точка.

Примери, които не ти ги хваща:

nikola_nikola@abv.bg

nikola_nikola@nikola.nikola.nikolov.abv.bg

 

Моят regex, който също може и да има пропуски е:

([a-zA-Z0-9]+[._-]*)+[@]([a-zA-Z0-9-]+[.]+)+([a-zA-Z0-9])+

2
20/09/2014 00:13:53
mihayloff14 avatar mihayloff14 824 Точки

Прав си, наистина regex-а ми не хващаша всички възможности. Сега вече мисля, че го оправих донякъде:

([a-zA-Z0-9]+[.,-_]?[a-zA-Z0-9]+)+[@]{1}([a-zA-Z0-9]+[.-]?[a-zA-Z0-9]+)+[.]{1}[a-zA-Z0-9]+

Освен това, имай предвид, че в кода ми преди да match-вам каквото и да е, първо премахвам последния char от последната дума, защото в примерите от условието, текстовете винаги завършват с точка, а имейл не може да завършва с точка. ^^

0
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

И аз си мислех да премахвам последния символ, но се оказа, че е ненужно. Моят regex така го конструирах, че никога да не хваща самотната точка в края на изречението.

Сега пробвах новия ти regex и не хваща следния пример:

soft.uni@softuni-bulgaria.co.uk

хваща го до

soft.uni@softuni-bulgaria.co

Четейки условието на задачата си мисля, че трябва да може да хващаме неограничен брой думи след @, т.е. трябва да може да хване и:

soft.uni@softuni-bulgaria.co.uk.com.com.com.com.com.com.com.com.com.com

 

1
20/09/2014 11:29:58
magdalena70 avatar magdalena70 96 Точки

Условието на 10 задача-"Extract All Unique Words"- е объркано.Примерът,който е даден от долу е грешен:

Input: Welcome to SoftUni. Welcome to Java.            ->      Output: java to softuni welcome

Верният отговор е :                                                ->       Output: java softuni to welcome

 

 

 

 

Ето и моите решения,но не са всички задачи.Java-Colections-Basic-Homework.

 

 

4
20/09/2014 22:41:00
Filkolev avatar Filkolev 4482 Точки

Тъкмо това щях да пиша и аз, но виждам, че някой вече ме е изпреварил :)

0
niki.mihaylov avatar niki.mihaylov 4 Точки

2 задача не работи, ако й подадеш стринг с "несортирани" думи, например: hi yes yes bye yes.

Тогава извежда:

 

hi

 

yes yes

 

bye

 

yes

 

0
18/09/2014 00:59:55
Filkolev avatar Filkolev 4482 Точки

То това и е идеята на задачата, да търсиш последователни повтарящи се думи; това че имаме редове, в които има повторение на думи, не прави задачата неработеща.

1
a.angelov avatar a.angelov 1316 Точки

Точно така - то си го пише в условието:

sequences of equal elements

0
infreezer avatar infreezer 15 Точки

Здравейте,

Заиграх се с 2ра задача от последното домашно и написах някакъв смешен код, който не мога да счупя с какъвто и инпут да пробвам, а не мисля, че трябва да работи. Бихте ли я погледнали и ако можете я счупете и ми кажете къде ми е грешката. :D

http://pastebin.com/emtDS2Qr

 

1
19/09/2014 00:51:57
Filkolev avatar Filkolev 4482 Точки

Издържана ми се струва логиката, това, че е кратко решението не значи, че не е вярно. Не съм опитал да я счупя, но гледайки кода мисля, че е ОК.

0
AleksandurSeferinkin avatar AleksandurSeferinkin 333 Точки

https://github.com/d0ntth1nc/SoftUny-HW/tree/master/Collections-Basics-HomeWork/src

... и моите домашни...

Мен ме затруднява малко multithreading-а в java и не успявам да го накарам WebCrawler-a да обхожда ликновете в отделни нишки. Всъщност успявам, но нямам представа как да извеждам информация от тях или как да ги контролирам. В C# е елементарно ^_^

1
gody_93 avatar gody_93 4 Точки

Колеги, на 5 и 6 задача, всичко е точно, само на последния тест, когато string-a е по- голям от 1 ред ми хваща само 1вия ред. Можете ли да ми предложите някакъв по- лесен начин от моя КОД . Работи, но е нужно допълнителен Еnter за да върне празен ред в while цикъла и да изкара резултата, а това ме дразни :D :D :D 

0
dmstoyanov avatar dmstoyanov 32 Точки

Здравей, 

в условието е казано, че на първи ред е даден текстът. Тоест целият текст ти е на един ред, без да минаваш на следващ(без "Enter"). Пробвай да си го копираш някъде (празен документ, например), форматираш -> копираш -> поставяш-> компилираш :)

1
gody_93 avatar gody_93 4 Точки

Мдаа явно така ще стане :D Благодаря ! 

0
iliangrekov avatar iliangrekov 63 Точки

Относно задачата с email-ите. Tози regex го мъдрих 1 час. Във всички варианти , които тествах работи.

За целите на примерите е повече от добър, дори в много по-опростен вариант ще работи. Но просто за идеята 

\b[a-z0-9][a-z0-9-_\.]+\w+@[a-z\.-]*\.[a-z]{2,3} -> (вариант за regexr.com) 

\\b[a-z0-9][a-z0-9-_\\.]+\\w+@[a-z\\.-]*\\.[a-z]{2,3} -> директно в кода с ескейпинга


\b[a-z0-9] -> задължително да започва със малкa буква или цифра

nikola_nikola@nikola.nikola.nikolov.abv.bg

local частта  example@host.com от имейла е case sensitive по принцип, не не съм виждал някой да ползва големи букви, дори много email сървъри не поддържат upperCase и го конвертират в lowerCase.

[a-z0-9-_\.]+ ->  следвано от малки букви и/или цифри, тире, долна черта и точка(която сме ескейпнали с "\"),  по 1 или повече на брой 

nikola_nikola@nikola.nikola.nikolov.abv.bg

\w+ -> задължително да завършва с character (включва alphanumerical и underscore)  - така ще избегнем това nakov_-

@ -> да е следвано от кльомба

domain частта  example@host.com е винаги caseInsesitive т.е. неможе да имаме големи букви, освен ако не е някаква правописна грешка. И ако въведем @ServEr.coM -> автоматично става @server.com

[a-z\.-]* -> да е следванo от малки букви и/или точка 0 или повече на брой

nikola_nikola@nikola.nikola.nikolov.abv.bg

\.[a-z]{2,3} -> да следва точка, следвана от 2 или 3 букви (примерно    .com  .bg)  

nikola_nikola@nikola.nikola.nikolov.abv.bg

Единственото, което забелязах и не знам как се прави е  да се селектира само, ако има по 1 точка,

опитах с  [\.?] също и със [\.]{1}, но не става.

j.hopkin . . 64545@york.ac . . . . ud

Не претендирам, че в реалността има такъв имейл, целта ми е просто да си тренирам regex-a 

 

2
05/02/2015 18:55:56
Filkolev avatar Filkolev 4482 Точки

"Единственото, което забелязах и не знам как се прави е  да се селектира само, ако има по 1 точка, опитах с  [\.?] също и със [\.]{1}, но не става."

Може ли да обясниш по-подробно какво искаш да направиш точно, за да те насоча?

0
iliangrekov avatar iliangrekov 63 Точки

Как да включа в условието на regex-a нещо което искам да се среща само 1 път като последователност, но 0 или повече  пъти като цяло? Например

ivan.ivanov...ivanov@host..bg.com  

да не го хвана, но

ivan.ivanov.ivanov@host.bg.com  

това да.

Благодаря!

0
06/02/2015 16:11:35
Filkolev avatar Filkolev 4482 Точки

Това върши работа, но трябва да си го модифицираш според твоите нужди:

\b[a-zA-Z]+(\.?[a-zA-Z]+)+@([a-zA-Z]+\.)+[a-zA-Z]+\b

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

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.