Nyílt forrásúvá tette a Google a RE2 névre hallgató reguláris kifejezés motorját

 ( trey | 2010. március 16., kedd - 13:55 )

A Google számos helyen használ rendszerei, szolgáltatásai (például Code Search, SawZall, Bigtable) működtetéséhez reguláris kifejezéseket. Ezek a rendszerek óriási mennyiségű adatot dolgoznak fel, így itt az exponenciálisan növekvő futási idő - amely napjaink szolgáltatásban gazdag regex implementációit potenciálisan jellemzi - nagy probléma lenne. Nem beszélve arról, hogy ezekben a hagyományos regex implementációkban a stack használatot sem korlátozzák, ami akár stack túlcsorduláshoz és szerverösszeomláshoz vezethet.

A Google, hogy megoldja mindkét problémát, létrehozott egy új reguláris kifejezés motort. A motor a RE2 névre hallgat. A Google BSDL alatt publikálta a kódot.

A bejelentés itt.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

\o/

Már nagyon hiányzott egy gyors re megoldás (és akkor itt a kérdés, hogy ez vajon olyan-e).


suckIT szopás minden nap! A fájlokat tömörítsük, vagy a fájlrendszert?

ha nem is gyors(bar miert ne lenne), de legalabb determinisztikus a futasideje. :)

Tyrael

Vastüdőben futó telemetria-adatok elemzéséhez elengedhetetlen.


suckIT szopás minden nap! A fájlokat tömörítsük, vagy a fájlrendszert?

ennek en is nagyon orulok, meg az is megtortenhet h kicsit elemezgetem a kodot
ebbol aztan lehet tanulni!

És a Perl szabványos kifejezéseinek a kezelését mire implementálták? Macintoshra vagy PC-re? (1k bocs...)

[off]

miért "reguláris"? ha már le lett fordítva, akkor már miért nem "szabályszerű", "mintaszerű" vagy whatever...

mellesleg "reguláris" szó nincs a magyar szótárban... akkor meg... minek erőlködni a fordítással? hogy az ember magyarul ne értse?

[/off]

http://www.kislexikon.hu/regularis_hadsereg.html
http://www.kislexikon.hu/megregulaz.html

jovevenyszo ugyan, de nem a regex hozta be a nyelvbe.

Tyrael

[reoff]
A Unix világban gyakran használják *ezt* így: reguláris kifejezés (esetleg ha sokkal magyarosabban akarod, akkor szabályos kifejezés). A szótárban egyébként lehet, hogy nincs benne - kétlem -, attól még pl. a reguláris hadsereg mint kifejezés igen elterjedt volt vala, szóval akár értheti is aki magyarul olvassa.
[/reoff]

A "szabályos kifejezés" a lehető legrosszabb. Amikor először szembetalálkoztam vele, azt se tudtam mi ez. Aztán az eredeti angol változatból megértettem. Szerintem a reguláris kifejezés még belefér, elvégre a reguláris szó létezik a magyar nyelvben is, másrészt utal az eredeti alakra. Nem is tudom, hogy lehetne szépen lefordítani a "regular expression" kifejezést, úgy, hogy egyrészt tudd, mit jelent, másrészt magyaros legyen.

A gólyamadár meglátta a pocsolyában lapuló békát.
- Békula, békula, tudod-e , mi a régula?
- Lent - felelte a béka gyanakodva.
- Nem igaz, mert fent - és a gólyamadár felhajította a brekkencset a magasba.
- Fent - próbált javítani a béka, lefele kalimpálva.
- Nem igaz, mert bent - mondta a gólyamadár, es lenyelte a békát.
- Bent - törődött bele a béka.
- Így van ,békula, ez a régula....

(Fekete Istvan: Kele)


No rainbow, no sugar

+1

siman megtette volna egy "regexp"

Ismered a reguláris gráfokat? :)

bizony. ez pont egy nagyon jó példa, hogy a matematikában legalább nem erőlködnek lefordítani a "regular graph"-ot valami "szabályszerű csomópontok"-ra, hogy az ember ne értse.

se nem piszkálni akarlak se nem az off témát folytatni, csak egyszerűen nem értem, először azt írod hogy még a magyarban sincs ilyen szó, (én sem angolban vagy számítógép környezetben találkoztam vele először életemben, ) most meg hogy a matekban bezzeg nem zavarják az embert

mi van?

ok, én is befejeztem.
akkor még 1x...: én azt mondtam, hogy ha már úgysem lehet rendesen lefordítani, akkor miért kell erőlködni? a regexp-et hamarabb megérti mindenki, akit érdekel(het) a cikk.

en ismertem a magyar es az angol formajaban is, ha gondolod csinalj rola egy szavazast, de szerintem a magyar fejlesztoknel ez altalanos, eleg gyakran hasznalt formaja a regexpnek a reguláris kifejezés.
pl. egyik alapmu imho:
http://weblabor.hu/konyvek/regulariskifejezesekmesterfokon

Tyrael

Tedd már meg, hogy körülnézel a Google-ben a "reguláris kifejezések"-re. Hogy kik és milyen széles körben használják. Mielőtt még azt hiszed, hogy itt olvashattál róla először. Úgy látom, hogy neked ez az egész újdonság.

Maga a Google - akiről a cikkben szó van - is a reguláris kifejezések-et használja.

--
trey @ gépház

A szakirodalomban is igy hivjak, hogy regularis nyelv, regularis nyelvtan, regularis kifejezes. Formalis nyelveknel ez a Chomsky fele 3. nyelvosztaly. A szabalyszeru/mintaszeru mar csak azert is butasag, mert a kornyezetfuggo, kornyezetfuggetlen, stb. nyelvek is szabalyszeruek, megsem regularis nyelvek: kevesbe szigoru szabalyok vonatkoznak rajuk, de szabaly attol meg van.

Ajanlott irodalom: http://mek.oszk.hu/05000/05099/
--
ahan nem

+1

Mert ha leforditanak "mintaszeru kifejezes"-re, akkor az embernek nem esne le rogton, hogy ez most a regexp, csak epp tulteng a magyarsag - meg ugy egyebkent is undorito.

--
Fontos feladatot soha ne bizz olyan gepre, amit egyedul is fel tudsz emelni!