Zadejte hledaný výraz...

Regulární výraz?

hm
verified
rating uzivatele
(20 hodnocení)
29. 8. 2011 19:07:51
Napsal vedouci;695273
protoze je to "good enough", vetsinou to funguje...
taky .*? pouzivam, ale jsem si vedom toho, ze to ve velmi nepravdepodobnych pripadech nemusi fungovat, ale je to prehlednejsi
jinak me by zase zajimalo, proc lidi parsuji html pres regexy a ne pres dom...
ja jak kdy, nekdy je to mnohem rychlejsi prohnat jednoduchym regexem... na rozsahlejsi data je zas stokrat lepsi dom nez se delat s milionem slozitych regexu :) no je to asi stejne jako s .* :) ve vetsine pripadu staci a je rychlejsi a prehlednejsi jeden radek s regexem...
---------- Příspěvek doplněn 29.08.2011 v 19:09 ----------
Napsal Jadro007;695279
Regulární výrazy moc neumím, proč je špatné používat (.*)? ;)
typicky priklad "data dalsi text data" a chces vytahnout z teto radky veci mezi pokud napises regex "(.*)" dostanes vysledek "data dalsi text data" :) coz je nezadouci ... ale smaozrejme ze to v mnoha jinych pripadech dostacuje, ja radeji delam presnejsi regexy protoze to neni vubec slozite a funguji ve 100% pripadu
29. 8. 2011 19:07:51
https://webtrh.cz/diskuse/regularni-vyraz-4/strana/2#reply671807
To záleží, jestli se regex chová greedy nebo ungreedy. Když ungreedy, chytne minimální platný rozsah, při greedy maximální.
Defaultně je regex v PHP greedy.
Greediness se přepíná buď příznakem U pro celý regex, nebo otazníkem pro jednu část (což napsal Vedoucí).
- přepne greediness pro tento konkrétní kvantifikátor
Za mě: Skupina
Je užitečná při práci s UTF. Jinak raději používám negativní třídy jako Aleš
29. 8. 2011 19:31:11
https://webtrh.cz/diskuse/regularni-vyraz-4/strana/2#reply671806
Kamil Tomšík
verified
rating uzivatele
(3 hodnocení)
29. 8. 2011 20:36:44
typicky priklad "data dalsi text data" a chces vytahnout z teto radky veci mezi pokud napises regex "(.*)" dostanes vysledek "data dalsi text data" :) coz je nezadouci ... ale smaozrejme ze to v mnoha jinych pripadech dostacuje, ja radeji delam presnejsi regexy protoze to neni vubec slozite a funguji ve 100% pripadu
Aha, tak to jsem te spatne pochopil - ja myslel, ze ses upsal a myslel .*? - cili ungreedy verzi .*, tak jak rika Martin, i ta ale teoreticky muze vratit neocekavany vysledek (ale nestava se to)
Jeste dodatek - proc radeji pouzivam DOM? protoze krom toho, ze uz je v nem parsovani xml vyresene, tak v pripade, ze by se struktura vstupniho html zmenila, tak mi staci jenom udelat malou zmenu v xpath vyrazu. Ale ano, obcas taky pouziju preg_replace, kdyz jde o nejakou drobnost a nestoji to za namahu :)
29. 8. 2011 20:36:44
https://webtrh.cz/diskuse/regularni-vyraz-4/strana/2#reply671805
hm
verified
rating uzivatele
(20 hodnocení)
29. 8. 2011 20:40:20
Napsal vedouci;695335
Aha, tak to jsem te spatne pochopil - ja myslel .*? - cili ungreedy verzi .*, tak jak rika Martin, i ta ale teoreticky muze vratit neocekavany vysledek (ale nestava se to)
jj jenze vis co, ja vsude vidam .* - lide o necem jako greedy a ungreedy ani nevi a na to jsem se vlastne i ptal :) ale jak vidis na mem kodu nahore, ja stejne radeji napisu neco presnejsiho nez uplny univerzal ac ungreedy :) ale to je asi na kazdem a hlavne taky k cemu to zrovna pouzivas :)
29. 8. 2011 20:40:20
https://webtrh.cz/diskuse/regularni-vyraz-4/strana/2#reply671804
Kamil Tomšík
verified
rating uzivatele
(3 hodnocení)
29. 8. 2011 20:45:53
ja ti rozumim, je to cistejsi, ale me se .*? daleko lepe cte, to je cele
29. 8. 2011 20:45:53
https://webtrh.cz/diskuse/regularni-vyraz-4/strana/2#reply671803
Pro odpověď se přihlašte.
Přihlásit