Staňte se programátorem: Tajemné regulární výrazy

Diskuze čtenářů k článku

16. 01. 2020 18:31

Online nástroj pro testování regulárních výrazů je na http://retezce.jednoduse.cz/...

Souhlasím  |  Nesouhlasím  |  Odpovědět
12. 02. 2010 11:17

není náhodou v posledním výrazu chyba?

(\w{1,}\.\w{1,}|\w*)@\w{1,}\.\w{2,3}

Z části před zavináčem (\w{1,}\.\w{1,}|\w*) může být buď písmena nebo číslice oddělená tečkou \w{1,}\.\w{1,}

, nebo libovolný počet písmen nebo číslic w* . Libovolný znamená že nemusí být obsažen žádný znak. Jenže taková adresa nelze zadat, pokud vím. Takže by to spíš mělo být w+

Souhlasím  |  Nesouhlasím  |  Odpovědět
Substance242  |  17. 09. 2009 10:49

Hmm, prečo mám pocit, že doteraz som v češtine čítaval "regulÉrní" výrazy?

Souhlasím  |  Nesouhlasím  |  Odpovědět
17. 09. 2009 22:43

Slova regulární a regulérní mají odlišné významy.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Substance242  |  17. 09. 2009 23:51

Aha. Jedine že by tak.

Souhlasím  |  Nesouhlasím  |  Odpovědět
16. 09. 2009 19:01

tady je to celkem dobre popsano:

http://www.vsj.co.uk/articles/display.asp...

Souhlasím  |  Nesouhlasím  |  Odpovědět
16. 09. 2009 10:32

\b není mezera, ale hranice slova (border). Mezera je \s (space). Takže \b funguje i u slova zcela na začátku resp. na konci, před kterým resp. za kterým už mezera není.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
16. 09. 2009 10:57

presne tak, taky me to hned trklo.. jinak jeste doplnim ze \s neni jen mezera, ale libovolny whitespace, tedy treba i TAB..

Souhlasím  |  Nesouhlasím  |  Odpovědět
16. 09. 2009 09:53

Díky za dobrý článek, pro začínající programátory určitě přínosné :o)

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
16. 09. 2009 08:58

Regulární výraz na test emailové adresy zkomolí všechny adresy , které obsahují pomlčku.

Souhlasím  |  Nesouhlasím  |  Odpovědět
16. 09. 2009 10:19

problem je i s adresou, ktera obsahuje vic tecek pred @

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
16. 09. 2009 10:23

Pokud chcete zkontrolovat emailovou adresu v souladu s RFC 822, zde je správný regulární výraz. Při větším počtu kontrol doporučuji nejprve pattern zkompilovat.

http://ex-parrot.com/~pdw/Mail-RFC822-Address.... ...

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
16. 09. 2009 11:06

jezis marja co to je za mega regular? :D

Tady je k dispozici kontrola emailove adresy podle RFC 2822 podle me docela prehledne napsana..

http://www.abclinuxu.cz/poradna/programovani/show... ...

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
16. 09. 2009 15:15

Pěkně dlouhé...

Souhlasím  |  Nesouhlasím  |  Odpovědět
16. 09. 2009 13:40

Uvedený výraz by nejspíš nenašel ani e-mailové adresy z top domény .info

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
16. 09. 2009 03:05

Při hledání jablka pozor, nenajde se slovo, které je na konci věty a je za ním nějaké znaménko.

Jinak díky za článek, regulární výrazy se hodí každému.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
16. 09. 2009 00:15

> \d{3}\s\d{2}

> Vyhledá poštovní směrovací číslo ve tvaru xxx yy

Není tady chyba? \s totiž nikde popisovaný není a mezera je přece \b

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
16. 09. 2009 00:18

Tak jsem zkusil ten porovnávač a je to přesně obráceně. \s je mezera a \b mi to jako mezeru vzít nechce :)

Každopádně pokaždý, když jsem dělal (v php) tyhle výrazy, který nejsem schopnej nějak hlouběji pochopit, jsem jako mezeru nepoužíval nic s lomítkem, ale prostě normální mezeru " " :)

Souhlasím  |  Nesouhlasím  |  Odpovědět
16. 09. 2009 02:12

v jazycich Perl, PHP, Java a JavaScript jsem mezeru taky nikdy neescapoval a pouzival pouze ' '

jinak \s je prazdny znak, coz je krome mezery treba tabulator

a \b myslim oznacuje hranici slova v danem retezci

(aspon takhle je to myslim v Perlu, za ostatni jazyky nerucim (ono i za ten Perl nerucim :)))

jinak u opakovani znaku se imho zapomnelo na docela dulezity '?', ktery znaci, ze dany znak (skupina znaku) tam bud neni nebo je prave jednou (pochybuju, ze by v .NET nebyl a pokud tam skutecne neni, tak mi to prijde divny)

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
16. 09. 2009 02:32

Snažil jsem se to hledat a našel jsem nějakej docela pěknej přehled těhle perlových výrazů v EN (ale už jsem nechtěl psát další příspěvek, aby to nevypadalo jako nějaká trapne one-man-show ) a je to jak píšeš. \b je hranice slova, \s je ten "prázdnej znak"

Souhlasím  |  Nesouhlasím  |  Odpovědět
Zasílat názory e-mailem: Zasílat názory Můj názor