Mivel nem nagyon találtam még érthető leírást a regular expressions azaz a reguláris kifejezés nevű jóságról, és eleinte eléggé nehéznek tűnik, gondoltam írok pár dolgot róla A reguláris kifejezés lényege, hogy sokkal egyszerűbben tudunk feltételt szabni bizonyos dolgokra. Tehát egy szövegből egy soros regex segítségével ki tudunk nyerni nekünk megfelelő információkat. Minden keresést a / jellel kezdünk meg, és ezzel is fejezzük be. Az alábbi reguláris kifejezéseket PHP-ben próbáltam ki. A leginkább használatos reguláris kifejezéssel működő függvények PHP-ben:
[code]preg_match();
preg_replace();[/code]Először az ún. [b]metakarakter[/b]eket szeretném bemutatni, mert ez a későbbiekben a leglényegesebb rész.
mk. | használat módja | példa |
| | A vagy karakter. Kettőnél több feltéltel esetén használandó. | /bunkó|büdös/ |
\ | Az elrejtő karakter. A karakter elé kell helyezni, ha a keresésen belül olyan karaktert szeretnél használni, amely foglalt. | /\|/ (a ‘|’ karaktert találja) |
[ ] | Osztályok megadása | [abc] (az ‘a’,’b’ vagy ‘c’ karaktert találja meg) [a-c] (az ‘a’ és ‘c’ karakterek között található karaktereket találja meg |
( ) | Csoportosítás. A találatokat megjegyzi, és sorrendben a \1 illetve $1 értékekkel lehet rájuk hivatkozni. | (bunkó|gyökér|tapló) ($1 !gt; bunkó) |
. | Minden új sorban lévő találatot figyel. | /./ |
* | Bizonyos karakter, bármilyen mennyiségben valók keresése | /Hello*/ bármennyi ‘o’ karakter talált. |
$ | Egy karakterlánc végén megadva, csak az új sor előtti adott karakterláncot találja. | /izébizé$/ (az olyan karakterláncot találja, melynek utolsó része az ‘izébizé’ |
^ | Működése hasonló a $-hez, de itt a karakterlánc elejét figyeli. Osztály esetén tiltást jelent! | /^bunkó/ (az olyan karakterláncot találja, mely ‘bunkó’-val kezdődik.) /[^e]/ (olyan találatot ad, amiben nincsen ‘e’. |
Egyelőre ennyit tudok elmondani. Ha van valami baki, szóljatok bátran. Remélem hasznát veszi valaki 🙂
A felhasznált forrás [a=http://www.troubleshooters.com/codecorn/littperl/perlreg.htm]itt[/a] található.
Romsy
2006. január 21. — 18:40:22
Nem tudom, ha egy blogot fel szeretnék lapozni, nem ilyen bárhol fellelhető szövegekre számítok. Valami újat akarok olvasni, valami egyénit :/
Archie
2006. január 21. — 19:58:03
ez hasznos!!
nekem is magamtól kellett rájönnöm ezek használatára. találtam egy forrást, és elkezdtem fejtegetni..
Romsy
2006. január 22. — 00:59:33
Mefi: nincs még nekem értékelhető végzettségem, csak próbálkozok egyelőre, hogy valamikor legyen.
Egyébként php-ben nem, de junikszos shellben találkoztam ilyenekkel eddig. Nem azért mondtam, hogy nem írhatsz ilyenekről, csakhát Balázsnál úgyis előbb-utóbb találkozok vele, tőle meg ez is teljesítmény lenne. Tőled azonban többet várok 😀
Balázs
2006. január 22. — 10:42:33
Romsy, most aztán kurvanyád 😀
suexID
2006. június 05. — 22:41:38
Mefi: lennél oly jó és beraknád ide a használt forrásanyagot? Nem baj, hogy angol értek én belőle! 🙂
Mefi
2006. július 22. — 12:27:48
Egy reguláris kifejezésbe mit tegyek újat? 😀 Egyébként magyar leírás elég kevés van.
Mefi
2006. július 22. — 12:27:48
Meg neked nem hiszem, hogy újdonság, tekintettel az iskolai végzettségedre. 🙂
Mefi
2006. július 22. — 12:27:48
Tessék ;]
Mefi
2006. július 22. — 12:27:48
Ehhehe 😀