Hogyan érthetném meg a regexet egyszerűen?
Nézegettem tutorialokat, amiket értek is, de amikor kombinálni kellene a dolgokat, akkor egyszerűen sosem akar összejönni.
Valaki el tudja magyarázni egy példán keresztül, hogy mikor mit néz a regex összeállítása során és miért azt írja regexbe, amit ír? A lényeg, hogy legyen kombináció a példában, mert azt nem értem, amikor több dolgot kell összegyúrni.
lehet, hogy ezért le leszek pontozva, de egye fene:
szerintem a regexeket úgy a legegyszerübb megérteni, ha elötte kicsit beleásod magad az automataelméletbe, azon belül konkrétan a véges állapotú gépekbe(finite-state machine).
Ezeknek van szép grafikus reprezentációja, könnyü megérteni a müködésüket. Ami itt lényeges, hogy a reguláris kifejezések ekvivalensek a véges állapotú gépekkel(minden regexhez létezik egy FSM és minden FSM-hez létezik egy regex).
Tudom, hogy az FSM-ek megértése nem annyira hasznos közvetlenül, mint a regexek megértése, de szerintem sokkal sokkal könnyebb megérteni a regexeket az FSM-eken keresztül, mint csak úgy magukban.
Szerintem sok triviális példát kell nézni, ami még felfogható ésszel, nem a 3 soros, teljes regexp arzenált felvonultató rémálmokkal érdemes kezdeni, azok csak elrettentenek.
Úgy fogd fel, mint egy sokkal nagyobb tudású wildcard keresőt. Azaz nem csak * -ot és ? -et lehet "joker" karakterként használni, hanem mindenféle érdekességeket is, pl. bizonyos karaktercsoportokra, megadott számú vagy korlátlan string-ismétlődésekre, stb... keresni. Én is megrémültem, amikor először láttam ezeket a krix-kraxokat, de ahogy megértettem, már pillanatok alatt ki tudtam hozni egész bonyolult kereséseket. Pl. olyat, ami megtalál minden valid emil címet vagy url -t egy szövegben, eldönti egy számlaszámról vagy telefonszámról, hogy helyes-e szintaktikailag, egy jelszóról eldönti, megfelel-e a minimális követelményeknek (hosszra, a benne szereplő karakterekre, azok egymás utáni előfordulására), de lehet szövegeket, azok részeit cserélni is bizonyos szabályok szerint.
Valaki írt egy magyar kis helpet, szerintem ebből az alapok kiderülnek:
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!