reg. izraz
Select messages from
# through # FAQ
[/[Print]\]
Idite na Prethodno  1, 2, 3, 4, 5, 6  Sljedeće  :| |:
Forum@DeGiorgi -> Programiranje 1 i 2

#61:  Autor/ica: vsegoLokacija: /sbin/init PostPostano: 14:28 pet, 11. 11. 2011
    —
Tvoj izraz ima samo jedan par zagrada, dakle i samo jednu grupaciju i kao rjesenje se ispisuje posljednja vrijednost (sto imas i u sluzbenom rjesenju).

DeMorgan vrijedi i za vise izraza.

#62:  Autor/ica: math_student PostPostano: 21:40 sri, 14. 11. 2012
    —
imam nekoliko pitanja...Smile
vježbam po skripti i po starim kolokvijima i ne znam više kako da označavam početak i kraj riječi kod reg. izraza. nama je asistent pokazao \mRIJEC\M tj. \yRIJEC\y...svugdje je \b..
hoće li se na koloviju priznati i jedno i drugo?

#63:  Autor/ica: AltairAC PostPostano: 11:07 čet, 15. 11. 2012
    —
math_student (napisa):
imam nekoliko pitanja...Smile
vježbam po skripti i po starim kolokvijima i ne znam više kako da označavam početak i kraj riječi kod reg. izraza. nama je asistent pokazao \mRIJEC\M tj. \yRIJEC\y...svugdje je \b..
hoće li se na koloviju priznati i jedno i drugo?


Piše u skripti da ako koristiš neki drugi standard, da navedeš o kojem se radi. Ako koristiš \brijec\b, onda ne treba ništa pisati, ako koristiš \yrijec\y, napišeš negdje, "Codeblocks sintaksa" ili tako nešto.

A jesi li ti siguran za ovaj \m i \M, Google kaže:
Citat:
A solution is proposed, using new \m (match opening grouping character) and \M (match closing grouping character) metacharacters.

a ne "word boundary".

#64:  Autor/ica: vsegoLokacija: /sbin/init PostPostano: 11:17 čet, 15. 11. 2012
    —
Ne postoji "Code::Blocks sintaksa". Ako cete vozati alternativne standarde (ne preporucam), onda ih morate i ispravno imenovati. Asistent koji ce ispravljati ne moze znati sve standarde i ispravni naziv je kljucan da moze naci standard o kojem je rijec.

Konkretno, \y, \Y, \m i \M su word boundaries u Tcl-u. Hoce li to proci na kolokviju, ne znam, jer nisam na kolegiju, no mislim da je bolje da ne komplicirate i da jednostavno pisete \b (nije to bas puno za upamtiti).

#65:  Autor/ica: AltairAC PostPostano: 11:44 čet, 15. 11. 2012
    —
vsego (napisa):
Ne postoji "Code::Blocks sintaksa". ...


Mislio sam, pošto su najvjerojatnije sve grupe reg. izraze testirale u Code::Blocksu da je legalno samo napomenuti da se radi o načinu na koji ih Code::Blocks interpretira.

#66:  Autor/ica: math_student PostPostano: 15:08 čet, 15. 11. 2012
    —
hvala na odg Very Happy

#67:  Autor/ica: Mr.M_G PostPostano: 15:29 čet, 15. 11. 2012
    —
Napišite regularni izraz koji prepoznaje dva datuma u formatu yyyy-mm-dd odvojena znakom| ali tako da dan mjesec i godinu svakog datuma izdvoji u grupacije.
Zašto izraz:
(\d{4})-(0\d|1[0-2])-([0-2]\d|3[01])\|(\d{4})-(0\d|1[0-2])-([0-2]\d|3[01])

ne prepoznaje i podcrtani dio teksta nego samo boldani

wdhnb1929-10-18|2027-06-08|2025-11-18adfif

#68:  Autor/ica: četiriLokacija: Zagreb PostPostano: 15:40 čet, 15. 11. 2012
    —
imam ja pitanje off topic, al mi je glupo za svako pitanje otvarat novu temu, pa samo za brzinu...

Na 77. stranici skripte Vedrana Šege iz Programiranja 1 u primjeru 7.2.1. drugi red rješenja izgleda odprilike ovako...

Kod:

printf("Prvi parni broj stro\-go veci od %d je %d", itd. itd....


šta znači ovaj \- i zašto je on uopće tu?

#69:  Autor/ica: vsegoLokacija: /sbin/init PostPostano: 16:01 čet, 15. 11. 2012
    —
@Mr.M_G: Zato sto je to treci datum, a izraz prepoznaje dva?

@četiri: Tipfeller u skripti.

#70:  Autor/ica: PoparaLokacija: Zadar/Zagreb PostPostano: 16:02 čet, 15. 11. 2012
    —
Mr.M_G (napisa):
Napišite regularni izraz koji prepoznaje dva datuma u formatu yyyy-mm-dd odvojena znakom| ali tako da dan mjesec i godinu svakog datuma izdvoji u grupacije.
Zašto izraz:
(\d{4})-(0\d|1[0-2])-([0-2]\d|3[01])\|(\d{4})-(0\d|1[0-2])-([0-2]\d|3[01])

ne prepoznaje i podcrtani dio teksta nego samo boldani

wdhnb1929-10-18|2027-06-08|2025-11-18adfif



Zato što si stavio da on prepoznaje jedan datum pa znak | pa onda drugi datum.Kad on nađe ta dva datuma nastavlja tražiti dalje međutim on samo nalazi treći datum.Ne nalazi ti treći datum pa znak | pa onda neki drugi datum.
Ako hoćeš da ti prepoznaje i te daljnje datume mislim da bi bilo okej da staviš
(\d{4})-(0\d|1[0-2])-([0-2]\d|3[01])(\|(\d{4})-(0\d|1[0-2])-([0-2]\d|3[01]))+

#71:  Autor/ica: PoparaLokacija: Zadar/Zagreb PostPostano: 17:17 čet, 15. 11. 2012
    —
Imam jedno pitanje. U kolokviju iz 2010. (naprimjer kolokviju br.099) je pitanje:
Napišite regularni izraz koji: Prepoznaje datum u formatu mm-yyyy-dd (dd, mm i yyyy su nenegativni brojevi s točno dvije, odnosno četiri znamenke
(1 ≤ dd ≤ 31, 1 ≤ mm ≤ 12), a ostali znakovi se prepoznaju točno kako su navedeni).
Piše da je rješenje
(0\d|1[0-2])-\d{4}-([0-2]\d|3[01])
No taj izraz prepoznaje i datum 00-0000-00 jel to znači da bih ja uvjet (1 ≤ dd ≤ 31, 1 ≤ mm ≤ 12) trebao ignorirati ili?

#72:  Autor/ica: Mr.M_G PostPostano: 18:02 čet, 15. 11. 2012
    —
greška u genaratoru zadatka

#73:  Autor/ica: ena! PostPostano: 11:22 pet, 16. 11. 2012
    —
Odgodite kolokvij i idemo zajedno docekati nase generale!!!! Very Happy

#74:  Autor/ica: četiriLokacija: Zagreb PostPostano: 20:22 pon, 19. 11. 2012
    —
Skripta, stranica 74...

Kod:
i = 17, (i++) = 17, i = 18
i = 18, (++i) = 19, i = 19


jel i ovo također tipfeler (nadam se) ?

ne bi li trebolo pisati da je...?

Kod:
i = 17, (i++) = 18, i = 17
i = 17, (++i) = 18, i = 18



EDIT:

Oke, ja se ispričavam, shvatio sam da sam u krivu, i najbitnije, shvatio sam kako je i zašto je ovo točno. Smile

#75:  Autor/ica: pllook PostPostano: 19:20 ned, 17. 11. 2013
    —
zadatak sa kolokvija 2009.:
napiši regex koji prepoznaje niz znakova “kpz” na početku linije

ja riješih ovako: \b(kpz)\w*\b
a njihovo rješenje je: ^(kpz)

jel ovo moje ok?

#76:  Autor/ica: vsegoLokacija: /sbin/init PostPostano: 19:28 ned, 17. 11. 2013
    —
pllook (napisa):
zadatak iz kolokvija 2009./2010:
napiši regularni izraz koji prepoznaje niz znakova “kpz” na početku linije
ja sam to rijesila ovako:
\b(kpz)(\s*|\w*)\b


Nije. Prvi \b u ovom kontekstu znaci "na pocetku rijeci", sto nije isto sto i "na pocetku linije". Drugi \b je cisti vishak cije je znacenje u ovom kontextu malo teze objasniti.

Recimo, tvoj izraz bi prepoznao liniju "abc kpz", sto je ocito krivo.

#77:  Autor/ica: pllook PostPostano: 10:05 pon, 18. 11. 2013
    —
vsego (napisa):
pllook (napisa):
zadatak iz kolokvija 2009./2010:
napiši regularni izraz koji prepoznaje niz znakova “kpz” na početku linije
ja sam to rijesila ovako:
\b(kpz)(\s*|\w*)\b


Nije. Prvi \b u ovom kontekstu znaci "na pocetku rijeci", sto nije isto sto i "na pocetku linije". Drugi \b je cisti vishak cije je znacenje u ovom kontextu malo teze objasniti.

Recimo, tvoj izraz bi prepoznao liniju "abc kpz", sto je ocito krivo.


Hvala!

#78:  Autor/ica: pllook PostPostano: 11:34 pon, 18. 11. 2013
    —
kolokvij 20011/2012
4.zad d) prepoznaj stringove oblika "riječ{}riječ{}...{}riječ" pri čemu je "riječ" uvijek ista riječ opisana u podzadatku a). Na primjer, treba porepoznati "UXU{}UXU{}UXU", ali ne i "UXU{}XUX{}UXU" ili "UXU{}UXUXU{}UXU".

podzadatak a):prepoznaj stringove koji se sastoje samo od naizmjeničnog ponavljanja znakova ’U’ i ’X’ (npr. "UXU" ili "XUXU")

rj: (U?(XU)*X?)(\{\}\1)*

zar ne bi na kraju trebao ići plus umjesto zvjezdice? ako stavim zvjezdicu,onda prepoznaje i samo XUX,UXUX itd. a to ne bi trebao prepoznati

i još mi nije jasno zašto je u e) podzadatku treća grupacija 21-28, a ne 19-28?

#79:  Autor/ica: vsegoLokacija: /sbin/init PostPostano: 12:48 pon, 18. 11. 2013
    —
pllook (napisa):
kolokvij 20011/2012
4.zad d) prepoznaj stringove oblika "riječ{}riječ{}...{}riječ" pri čemu je "riječ" uvijek ista riječ opisana u podzadatku a). Na primjer, treba porepoznati "UXU{}UXU{}UXU", ali ne i "UXU{}XUX{}UXU" ili "UXU{}UXUXU{}UXU".

podzadatak a):prepoznaj stringove koji se sastoje samo od naizmjeničnog ponavljanja znakova ’U’ i ’X’ (npr. "UXU" ili "XUXU")

rj: (U?(XU)*X?)(\{\}\1)*

zar ne bi na kraju trebao ići plus umjesto zvjezdice? ako stavim zvjezdicu,onda prepoznaje i samo XUX,UXUX itd. a to ne bi trebao prepoznati


Zasto? Zamisli si to kao niz. String "1,2,3" je niz od tri broja odvojena zarezima (kojih ima [tex]n-1 = 2[/tex], pri cemu je [tex]n = 3[/tex] broj elemenata niza). String "1" je niz od jednog broja odvojenog zarezima (kojih ima [tex]n-1 = 0[/tex], pri cemu je [tex]n = 1[/tex] broj elemenata niza). Tako je i ovdje, samo sto su elementi "XUXU"-ovi, a separatori su "{}" (umjesto zareza).

pllook (napisa):
i još mi nije jasno zašto je u e) podzadatku treća grupacija 21-28, a ne 19-28?


Rekao bih da je to greska u generatoru rjesenja.

#80:  Autor/ica: Countess PostPostano: 13:21 uto, 19. 11. 2013
    —
Pozdrav,

imam pitanje vezano uz "ili" kod regularnih izraza.

Na vježbama smo za ispravno zapisane binarne brojeve (pozitivni/negativni, bez vodećih nula) regex zapisali ovako:
^-?1[01]*|0$

E sad, kad taj kod ubacim u vsegin program za vizualizaciju, izraz zahvati i "polovične linije", i problem uspijem riješiti ako izraz dodatno odvojim po linijama:
^-?1[01]*$|^0$

Pitanje je - jesu li obje varijante prihvaćene kao točne? Ili možda prva generalno nije točna, ali s obzirom da još nismo naučili dovoljno o reg izrazima, smatramo ju točnom? #Puppy dog

Hvala!

C



Forum@DeGiorgi -> Programiranje 1 i 2


output generated using printer-friendly topic mod. Vremenska zona: GMT + 01:00.

Idite na Prethodno  1, 2, 3, 4, 5, 6  Sljedeće  :| |:
Stranica 4 / 6.

Powered by phpBB © 2001,2002 phpBB Group
Theme created by Vjacheslav Trushkin