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

Diskuze čtenářů k článku

Golem II  |  01. 10. 2009 02:27  |  Microsoft Windows 7 Chrome 4.0.213.1

Jenom bych dodal, že kromě použití ve vlastní aplikaci je možné (a občas velmi velmi šikovné, ať už na editaci zdrojového kódu nebo nějakého textového dokumentu) používání regulérních výrazů v "replace dialogu (ctrl+h)" ve visual studiu.
Jinak regulérní výrazy jsou sice hezká hračka, ale bohužel také ne zrovna rychlá, proto do částí programu, kde klademe důraz na rychlost se jim doporučuji vyvarovat.

Souhlasím  |  Nesouhlasím  |  Odpovědět
NeoV  |  01. 10. 2009 12:41  |  Microsoft Windows XP Chrome 3.0.195.24

Regexy su take pomale ako ich programator napise... Napr. je rozdiel ci napisate regex pre ziskavanie textu vo vnutri uvodzoviek takto:
/"(.*?)"/
alebo takto:
/"([^"]*)"/
...rychlost regexu sa da v dost velkej miere optimalizovat vhodnym zapisom...
tak isto mam skusenosti. ze je omnoho rychlejsie (v praxi otestovane v Perle) pouzit klasicky vyhladavaci regex a vykonat nahradu stringu za pomoci klasickej funcie substr s parametrami indexu najdeneho retazca a jeho dlzky za novy retazec, ako pouzit substitucny regex... samozrejme ze zrychlenie/spomalenie zalezi od roznych faktorov - velkost vstupneho retazca nad ktorym vyhladavame ako aj miesto vyskytu najdeneho retazca, atd...

Souhlasím  |  Nesouhlasím  |  Odpovědět
petrf  |  01. 10. 2009 16:49  |  Microsoft Windows XP Firefox 3.5.3

Primárně bych se držel čitelnosti RV. Rychlost zpracování je dána interpretem RV, takže se rychlost bude lišit podle programu nebo jeho verze, ve kterém bude RV použit. Pokud by člověk měl přemýšlet takto, musel by zkoumat zdroják každého interpreta RV. Nemám na mysli speciality šité na míru jednomu interpretu, kde optimalizace při zpracování velkého množství dat je na místě, ale pro vyhledávání například pomocí programu grep, findstr, atd. bych to neřešil...

Souhlasím  |  Nesouhlasím  |  Odpovědět
ricmat  |  02. 10. 2009 10:46  |  Microsoft Windows XP IE 8.0

Presne tak. Regexy jsou zde proto, ze poskytuji potrebny interface pro vyhledavani, ktery nas oddeluje od jejich interpreta. Pokud budeme neco pouzivat v regexech a neco si nahrazovat ve stringu sami, popira to samou pointu regexu a muzeme si rovnou napsat vlastni optimalizovany algoritmus vyhledavani.
A tak je to se vsim - xslt procesory i linq jsou take pomale - je to dan za tu obecnost.

Souhlasím  |  Nesouhlasím  |  Odpovědět
05. 10. 2009 22:56 | Linux Mozilla 1.9.0.14

Trochu mne zarazila věta "Ke zjištění počtu prvků této kolekce použijeme, stejně tak jako u jakékoli jiné kolekce, vlastnost Length." Mám za to, že kolekce používají vlastnost Count, kdežto Length najdeme u polí.

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

Aktuální číslo časopisu Computer

Speciál o přechodu na DVB-T2

Velký test herních myší

Super fotky i z levného mobilu

Jak snadno upravit PDF