Reguláris kifejezések függvényei (Perl kompatibilis)
Bevezetés
Ezekben a függvényekben használatos minták szintaktikája nagyon hasonlÃt a PERL-ben megismerthez. A kifejezéseket határolójelek közé kell rakni, például perjelek / közé. Az alfanumerikus karakterektÅ‘l és a visszaperjeltÅ‘l (\) eltekintve bármi használható határolójelként. Ha a határolójel magában a kifejezésben is szerepel, akkor egy visszaperjelet (\) kell eléÃrni. A PHP 4.0.4-s verziójától kezdve lehetÅ‘ség van a (), {}, [], és <> párban álló határolók használatára, ahogy Perl-ben is. További információk a Minta Szintaxis oldalon olvashatók.
A lezáró határolójelet különféle módosÃtók követhetik, amelyek a mintailleszkedést befolyásolják. BÅ‘vebben: Minta módosÃtók fejezet.
PHP a kiterjesztett POSIX reguláris kifejezéseket is támogatja.
Érdemes átolvasni a » https://www.pcre.org/pcre.txt oldalt is, mivel a PCRE bizonyos korlátaival jó tisztában lenni.
Követelmények
A reguláris kifejezések támogatását a PCRE könyvtár biztosÃtja. Ez nyÃlt forráskódú szoftver, amit Philip Hazel Ãrt, és a szerzÅ‘i jogok az angliai Cambridge Egyetem tulajdona. A csomag hozzáférhetÅ‘ a » ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ cÃmen.
TelepÃtés
Beginning with PHP 4.2.0 these functions are enabled by default. You can disable the pcre functions with --without-pcre-regex. Use --with-pcre-regex=DIR to specify DIR where PCRE's include and library files are located, if not using bundled library. For older versions you have to configure and compile PHP with --with-pcre-regex[=DIR] in order to use these functions.
A PHP Windows-os változata beépÃtett támogatással rendelkezik eme kiterjesztéshez. Nincs szükség semmilyen kiterjesztés betöltésére, hogy az itt felsorolt függvényeket használhasd.
Futásidejű beállÃtások
Ez a kiterjesztés semmilyen konfigurációs beállÃtásokat nem definiál a php.ini állományban.
ErÅ‘forrás tÃpusok
Ez a kiterjesztés semmilyen erÅ‘forrás tÃpust nem definiál.
Előre definiált állandók
Az itt listázott állandókat ez a kiterjesztés definiálja, és csak akkor elérhetÅ‘ek, ha az adott kiterjesztés be van fordÃtva a PHP-be, vagy dinamikusan betöltött.
állandó | leÃrás |
---|---|
PREG_PATTERN_ORDER | Azt eredményezi, hogy a $matches[0] olyan tömb lesz, ahol az összes a teljes mintára illeszkedÅ‘ szövegrész lesz egymás után, a $matches[1] tömbben pedig azok a szövegrészek, amelyek elsÅ‘ "gyűjtÅ‘" részmintára illeszkednek, és Ãgy tovább. Ezt a preg_match_all() függvény paramétereként lehet használni. |
PREG_SET_ORDER | Azt eredményezi, hogy $matches[0]-ben az elsÅ‘ illesztés eredményeit, a $matches[1] a másodikét fogja tartalmazni, és Ãgy tovább. Ezt a preg_match_all() függvény paramétereként lehet használni. |
PREG_OFFSET_CAPTURE | Lásd a PREG_SPLIT_OFFSET_CAPTURE állandót! Ez a PHP 4.3.0 verziójától használható. |
PREG_SPLIT_NO_EMPTY | Ennek hatására csak és kizárólag a nem üres elemeket adja vissza a preg_split() függvény eredményül. |
PREG_SPLIT_DELIM_CAPTURE | Ekkor a kerekzárójelek közé fogott ("gyűjtő") részmintára illeszkedő szövegrészeket is visszadja a preg_split() függvény. Ez a jelző a PHP 4.0.5 verziójától használható. |
PREG_SPLIT_OFFSET_CAPTURE | Minden egyezéshez az egyezés kezdÅ‘pozicióját is visszaadja az eredményben. Ez maga után vonja, hogy a visszaadott tömb minden eleme olyan tömb lesz, amelynek a 0. indexe az illeszkedÅ‘ szöveget tartalmazza, mÃg az 1. indexen levÅ‘ elem ennek a subject -en belüli kezdÅ‘pozicióját. Ez a jelzÅ‘bit PHP 4.3.0 verziójától használható. |
Példák
Example#1 Példák érvényes mintákra
- /<\/\w+>/
- |(\d{3})-\d+|Sm
- /^(?i)php[34]/
- {^\s+(\s+)?$}
Example#2 Példák helytelen mintákra
- /href='(.*)' - hiányzó lezáró határolókarakter
- /\w+\s*\w+/J - ismeretlen módosÃtó 'J'
- 1-\d3-\d3-\d4| - hiányzó kezdő határolókarakter
Table of Contents
- Pattern Modifiers — Describes possible modifiers in regex patterns
- Pattern Syntax — Describes PCRE regex syntax
- preg_grep — Visszaadja azokat a tömbelemeket, amelyek illeszkednek a mintára
- preg_last_error — Returns the error code of the last PCRE regex execution
- preg_match_all — Reguláris kifejezés teljeskörű illesztését végzi
- preg_match — Reguláris kifejezést illeszt a megadott szövegre
- preg_quote — Reguláris kifejezés metakaraktereit literálissá változtatja
- preg_replace_callback — Reguláris kifejezés alapján keres és a megadott függvényt meghÃvva végzi a cserét
- preg_replace — Reguláris kifejezés alapján keres és cserél
- preg_split — Sztringet darabol fel reguláris kifejezésre illeszkedő részei mentén