Index: phpdoc/hu/functions/pcre.xml
diff -u phpdoc/hu/functions/pcre.xml:1.9 phpdoc/hu/functions/pcre.xml:1.10
--- phpdoc/hu/functions/pcre.xml:1.9 Fri Dec 21 11:54:40 2001
+++ phpdoc/hu/functions/pcre.xml Sat Dec 29 19:09:39 2001
@@ -1,21 +1,21 @@
-
+
Reguláris kifejezések függvényei (Perl kompatibilis)
- PCRE
+ PCRE
- Ezekben a függvényekben használatos minták szintaktikája nagyon
- hasonlít a PERL-ben megismerthez. A kifejezéseket határolójelek
+ 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
+ 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.
- A lezáró határolójelet különféle módosítók követhetik, amelyek a
+ 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.
@@ -53,7 +53,7 @@
- A Perl kompatibilis reguláris függvények PHP4-től és PHP 3.0.9-től
+ A Perl kompatibilis reguláris függvények PHP4-től és PHP 3.0.9-től
hozzáférhetők.
@@ -64,7 +64,7 @@
-
+
preg_match
@@ -77,25 +77,25 @@
int preg_matchstring patternstring subject
- array
+ array
matches
- A subject szövegben egyezést keres a
+ A subject szövegben egyezést keres a
pattern mintában megadott reguláris kifejezéssel.
- Ha a matches paraméterrel hívod meg, akkor a
- keresés végeredményét ebbe tárolja el a függvény. A $matches[0]
- tartalmazza azt a szövegrészt, ami a teljes mintára illeszkedett, és a
- további elemek ($matches[1] és így tovább) azokat, amelyek a tömbindex
+ Ha a matches paraméterrel hívod meg, akkor a
+ keresés végeredményét ebbe tárolja el a függvény. A $matches[0]
+ tartalmazza azt a szövegrészt, ami a teljes mintára illeszkedett, és a
+ további elemek ($matches[1] és így tovább) azokat, amelyek a tömbindex
szerinti "gyűjtő" részmintákra illeszkedtek.
- Ez a függvény &true;-val tér vissza, ha a pattern
- mintát sikerült illesztenie a subject szövegre,
+ Ez a függvény &true;-val tér vissza, ha a pattern
+ mintát sikerült illesztenie a subject szövegre,
egyébként - sikertelen illesztés vagy hiba esetén - &false;-szal.
@@ -103,7 +103,7 @@
A "php" sztring keresése
- Lásd még: preg_match_all,
+ Lásd még: preg_match_all,
preg_replace és
preg_split!
@@ -176,19 +176,19 @@
string patternstring subjectarray matches
- int
+ int
order
- A subject szövegben megkeresi az összes, a
+ A subject szövegben megkeresi az összes, a
pattern mintára illeszkedő
- részt, és a matches tömbbe menti azokat az
+ részt, és a matches tömbbe menti azokat az
order paraméterben meghatározott sorrendben.
- Amint az első illeszkedés megtalálta, a soron következő illesztést az
+ Amint az első illeszkedés megtalálta, a soron következő illesztést az
utolsó illeszkedés végétől folytatja.
@@ -198,21 +198,21 @@
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ő"
+ 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.
]+>(.*)[^>]+>|U",
- "példa:
",
$out, PREG_PATTERN_ORDER);
print $out[0][0].", ".$out[0][1]."\n";
print $out[1][0].", ".$out[1][1]."\n"
]]>
-
+
Ez a példa az alábbi eredményt adja:
- Tehát, az $out[0] egy tömb az összes, teljes mintára illeszkedő
+ Tehát, az $out[0] egy tömb az összes, teljes mintára illeszkedő
szöveggel, és $out[1] egy tömb az összes HTML-elem közti szöveggel.
@@ -231,13 +231,13 @@
PREG_SET_ORDER
- Azt eredményezi, hogy $matches[0]-ben az első illesztés eredményeit,
+ 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.
]+>(.*)[^>]+>|U",
- "példa:
",
$out, PREG_SET_ORDER);
print $out[0][0].", ".$out[0][1]."\n";
print $out[1][0].", ".$out[1][1]."\n"
@@ -247,27 +247,27 @@
Ez a példa az alábbi eredményt adja:
példa: , példa:
+példa: , példa:
ez itt a teszt szöveg
, ez itt a teszt szöveg
]]>
- Ebben az esetben $matches[0] az első illesztés során megtalált
- szövegrészeket tartalmazza, a $matches[0][0]-ben a teljes mintára
+ Ebben az esetben $matches[0] az első illesztés során megtalált
+ szövegrészeket tartalmazza, a $matches[0][0]-ben a teljes mintára
illeszkedő szöveggel, $matches[0][1]-ben az első "gyűjtő" részmintára
- illeszkedő résszel, és így tovább. Ehhez hasonlóan $matches[1] a
+ illeszkedő résszel, és így tovább. Ehhez hasonlóan $matches[1] a
második illesztés során megtalált szövegeket tartalmazza, stb.
- Ha nincs megadva az order paraméter, akkor az
+ Ha nincs megadva az order paraméter, akkor az
alapértelmezés a PREG_PATTERN_ORDER.
- Ez a függvény az összes illeszkedés számával tér vissza, vagy
+ Ez a függvény az összes illeszkedés számával tér vissza, vagy
&false;-szal sikertelen illesztés vagy hiba esetén.
@@ -286,14 +286,14 @@
HTML elemek keresése (mohón)
félkövér szövegkattints ide
-preg_match_all ("/(<([\w]+)[^<]*>)(.*)(<\/\\2>)/", $html,
+preg_match_all ("/(<([\w]+)[^<]*>)(.*)(<\/\\2>)/", $html,
$matches);
for ($i=0; $i < count($matches[0]); $i++) {
@@ -341,39 +341,39 @@
mixed patternmixed replacementmixed subject
- int
+ int
limit
- A subject-ben megadott szövegben keres a
- pattern paraméterben megadott mintára illeszkedő
+ A subject-ben megadott szövegben keres a
+ pattern paraméterben megadott mintára illeszkedő
részeket és azokat lecseréli a
- replacement-ben megadott kifejezésre. Ha a limit is szerepel, akkor csak
+ replacement-ben megadott kifejezésre. Ha a limit is szerepel, akkor csak
az első limit számú illeszkedő részt cseréli le.
- Ha limit hiányzik vagy értéke -1, akkor minden
+ Ha limit hiányzik vagy értéke -1, akkor minden
illeszkedő részt cserél.
- A replacement-ben hivatkozásokat is el lehet
+ A replacement-ben hivatkozásokat is el lehet
helyezni \\n vagy
- (PHP 4.0.4-től kezdve) $n
+ (PHP 4.0.4-től kezdve) $n
alakban (ez utóbbit részesítsd előnyben). Minden ilyen hivatkozás
- az n. zárójelezett részminta által megtalált
- szöveggel lesz helyettesítve. Az n értéke
- 0-tól 99-ig terjedhet, ahol is a \\0 vagy
- $0 hivatkozás az egész mintára illeszkedő szöveget
- jelenti. A kerek nyitó zárójelek 1-től kezdve balról jobbra vannak
+ az n. zárójelezett részminta által megtalált
+ szöveggel lesz helyettesítve. Az n értéke
+ 0-tól 99-ig terjedhet, ahol is a \\0 vagy
+ $0 hivatkozás az egész mintára illeszkedő szöveget
+ jelenti. A kerek nyitó zárójelek 1-től kezdve balról jobbra vannak
számozva és az általuk bevezetett "gyűjtő" részminták sorszámát adják.
- Ha volt egyezés, akkor az új subject-tel tér
+ Ha volt egyezés, akkor az új subject-tel tér
vissza a függvény, egyébként a változatlanul hagyott, eredeti
subject-tel.
- A preg_replace-nek átadott minden paraméter lehet
+ A preg_replace-nek átadott minden paraméter lehet
tömb is.
@@ -383,27 +383,27 @@
Ha a pattern és
- replacement paraméterek tömb típusúak, akkor a
- preg_replace veszi a tömbök elemeit és mindegyikkel
- páronként elvégzi a keresést és a helyettesítést a
- subject szövegen. Ha a
- replacement tömbnek a
+ replacement paraméterek tömb típusúak, akkor a
+ preg_replace veszi a tömbök elemeit és mindegyikkel
+ páronként elvégzi a keresést és a helyettesítést a
+ subject szövegen. Ha a
+ replacement tömbnek a
pattern tömbnél a kevesebb eleme van, akkor
- a pár nélküli mintákat üres sztringgel fogja helyettesíteni. Ha a
- pattern tömb és
- replacement sztring típusú, akkor ezt a
- helyettesítési szöveget használja minden
- pattern-beli mintához.
+ a pár nélküli mintákat üres sztringgel fogja helyettesíteni. Ha a
+ pattern tömb és
+ replacement sztring típusú, akkor ezt a
+ helyettesítési szöveget használja minden
+ pattern-beli mintához.
A fordított esetnek nem lenne sok értelme.
- Az /e módosító hatására a
- preg_replace a
- replacement paramétert PHP kódként értelmezi,
- miután a hivatkozások behelyettesítését elvégezte. Tipp: bizonyosodj meg
- arról, hogy replacement érvényes PHP kódnak felel
- meg (sztringben megadva), másképp a PHP szintaktikai hibát (Parse Error)
- fog jelezni abban a sorban, ahol a preg_replace
+ Az /e módosító hatására a
+ preg_replace a
+ replacement paramétert PHP kódként értelmezi,
+ miután a hivatkozások behelyettesítését elvégezte. Tipp: bizonyosodj meg
+ arról, hogy replacement érvényes PHP kódnak felel
+ meg (sztringben megadva), másképp a PHP szintaktikai hibát (Parse Error)
+ fog jelezni abban a sorban, ahol a preg_replace
függvényt meghívtad.
@@ -428,8 +428,8 @@
Az /e módosítót használata:
]*>)/e",
- "'\\1'.strtoupper('\\2').'\\3'",
+preg_replace ("/(<\/?)(\w+)([^>]*>)/e",
+ "'\\1'.strtoupper('\\2').'\\3'",
$html_body);
]]>
@@ -442,8 +442,8 @@
.*?'si", // javascript eltüntetése
@@ -481,10 +481,10 @@
- A limit paraméter a PHP 4.0.1pl2 után került a
+ A limit paraméter a PHP 4.0.1pl2 után került a
nyelvbe.
-
+
Lásd még: preg_match,
preg_match_all és
@@ -506,18 +506,18 @@
mixed patternmixed callbackmixed subject
- int
+ int
limit
- Ennek a függvénynek a működése szinte azonos a
- preg_replace függvényével azt leszámítva, hogy
- replacement paraméterként egy
- callback függvényt kell megadni, amely minden
- sikeres illesztésnél meghívásra kerül. Az illeszkedő szövegeket egy
- tömbben adja át a PHP a 'meghívott' függvénynek, és annak a helyettesítési
+ Ennek a függvénynek a működése szinte azonos a
+ preg_replace függvényével azt leszámítva, hogy
+ replacement paraméterként egy
+ callback függvényt kell megadni, amely minden
+ sikeres illesztésnél meghívásra kerül. Az illeszkedő szövegeket egy
+ tömbben adja át a PHP a 'meghívott' függvénynek, és annak a helyettesítési
szöveggel kell visszatérnie. Ez a függvény a PHP 4.0.5-től elérhető.
@@ -538,10 +538,10 @@
array preg_splitstring patternstring subject
- int
+ int
limit
- int
+ int
flags
@@ -549,7 +549,7 @@
- A flags paraméterrel a PHP 4 Beta 3-ban lett
+ A flags paraméterrel a PHP 4 Beta 3-ban lett
kiegészítve.
@@ -561,15 +561,15 @@
- Ha a limit meg van adva, akkor csak
+ Ha a limit meg van adva, akkor csak
limit számú darabbal tér vissza. A
limit értéke lehet -1 (jelentése: nincs korlát),
- és ez akkor hasznos, ha a flags
+ és ez akkor hasznos, ha a flags
paraméter értékét is szeretnéd megadni.
- A flags a következő jelzőknek bármilyen
+ A flags a következő jelzőknek bármilyen
kombinációja lehet a ( bitszintű | operátorral):
@@ -585,8 +585,8 @@
PREG_SPLIT_DELIM_CAPTURE
- Ekkor a kerekzárójelek közé fogott ("gyűjtő") részmintára
- illeszkedő szövegrészeket is visszadja a függvény.
+ Ekkor a kerekzárójelek közé fogott ("gyűjtő") részmintára
+ illeszkedő szövegrészeket is visszadja a függvény.
Ez a jelző 4.0.5 verziótól használható.
@@ -595,7 +595,7 @@
- preg_split példa : a keresett szöveg
+ preg_split példa : a keresett szöveg
kucslszavait adja vissza.string preg_quotestring str
- string
+ string
delimiter
A preg_quote függvény az str
- paraméterben kapott szövegben minden olyan karakter elé egy
- visszaperjelet helyez el, amely egy reguláris kifejezésben speciális
- jelentéssel bírhat. Ez akkor hasznos, ha olyan futási idő alatt
- összeállított sztringet akarsz egy mintában felhasználni, amelyben
+ paraméterben kapott szövegben minden olyan karakter elé egy
+ visszaperjelet helyez el, amely egy reguláris kifejezésben speciális
+ jelentéssel bírhat. Ez akkor hasznos, ha olyan futási idő alatt
+ összeállított sztringet akarsz egy mintában felhasználni, amelyben
előfordulhatnak speciális jelentéssel bíró reguláris karakterek.
Ha a nem kötelező delimiter-t is megadod, akkor ez
- a karakter is visszaperjellel lesz bevezetve. Ez pedig azért hasznos,
- mert PCRE által megkövetelt határolójeleket is le tudod kezelni így.
+ a karakter is visszaperjellel lesz bevezetve. Ez pedig azért hasznos,
+ mert PCRE által megkövetelt határolójeleket is le tudod kezelni így.
A / a leggyakrabban használt határolójel.
- A reguláris kifejezésekben előforduló speciális karakterek:
+ A reguláris kifejezésekben előforduló speciális karakterek:
- | :]]>
+ | : ]]>
+
@@ -682,7 +683,7 @@
- A preg_grep függvény egy olyan tömbbel tér vissza,
- amelyben az input tömb azon elemei szerepelnek,
+ A preg_grep függvény egy olyan tömbbel tér vissza,
+ amelyben az input tömb azon elemei szerepelnek,
amelyek a pattern mintára illeszkedtek.
- PHP 4.0.4-től kezdve a preg_grep függvény
- eredményeként visszaadot tömb az input indexeit használja. Ha nem ezt
- akarod, akkor használd a array_values függvényt
- a preg_grep által visszaadott tömb
+ PHP 4.0.4-től kezdve a preg_grep függvény
+ eredményeként visszaadot tömb az input indexeit használja. Ha nem ezt
+ akarod, akkor használd a array_values függvényt
+ a preg_grep által visszaadott tömb
újraindexeléséhez.
@@ -741,7 +742,7 @@
Minta módosítók
- A lehetséges, PCRE reguláris kifejezések kiértékelését
+ A lehetséges, PCRE reguláris kifejezések kiértékelését
befolyásoló módosítók felsorolása
@@ -757,8 +758,8 @@
i (PCRE_CASELESS)
- Ha ez a módosító be van kapcsolva, akkor a minta a nagy- és kisbetűk
- különbözőségére érzéketlen, a mintában előforduló betűk mind a kis-
+ Ha ez a módosító be van kapcsolva, akkor a minta a nagy- és kisbetűk
+ különbözőségére érzéketlen, a mintában előforduló betűk mind a kis-
mind a nagybetűkre illeszkednek.
@@ -767,18 +768,18 @@
m (PCRE_MULTILINE)
- Alapértelmezés szerint PCRE úgy tekinti a tárgyszöveget, mintha az
- egyetlen sorból állna (mégha történetesen tartalmaz is néhány újsor
- karaktert). A "sor eleje" metakarakter (^) csakis a tárgyszöveg
+ Alapértelmezés szerint PCRE úgy tekinti a tárgyszöveget, mintha az
+ egyetlen sorból állna (mégha történetesen tartalmaz is néhány újsor
+ karaktert). A "sor eleje" metakarakter (^) csakis a tárgyszöveg
elejére, míg a "sor vége" metakarakter ($) csakis a szöveg végére
- vagy a lezáró újsor-karakterre engedi illeszteni a mintát - kivéve
- ha D módosító be van kapcsolva. Ez ugyanúgy
+ vagy a lezáró újsor-karakterre engedi illeszteni a mintát - kivéve
+ ha D módosító be van kapcsolva. Ez ugyanúgy
működik, mint Perl-ben.
Amikor ez a módosító be van kapcsolva, akkor "sor eleje" illetve
"sor vége" szerkezetek közvetlenül a következő illetve közvetlenül a
- megelőző újsor karakterekre, és a szöveg legelejére illetve
+ megelőző újsor karakterekre, és a szöveg legelejére illetve
legvégére illeszkednek. Ez egyenértékű Perl /m módosítójával.
Ha nincs a tárgyszövegben "\n" karakter vagy a mintában nincs ^
illetve $, akkor ennek a módosítónak nincs hatása.
@@ -792,8 +793,8 @@
Ha ez a módosító be van kapcsolva, a mintában előforduló .
metakarakter minden karakterre - beleértve az újsor karaktert is -
illeszkedik, míg enélkül az újsor karakterre nem illeszkedne.
- Ez egyenértékű a Perl /s módosítójával. A tagadó karakterosztályok
- (mint például [^a]) mindig illeszkednek az újsor karakterre
+ Ez egyenértékű a Perl /s módosítójával. A tagadó karakterosztályok
+ (mint például [^a]) mindig illeszkednek az újsor karakterre
függetlenül ennek a módósítónak a beállításától.
@@ -802,14 +803,14 @@
x (PCRE_EXTENDED)
- Ha ez a módosító be van kapcsolva, akkor a mintában szereplő
- térközök - kivéve visszaperjelet elétéve vagy a
+ Ha ez a módosító be van kapcsolva, akkor a mintában szereplő
+ térközök - kivéve visszaperjelet elétéve vagy a
karakterosztályokon belülieket - nem lesznek részei a mintának,
valamint minden karakter, amely karakterosztályon kívüli literális #
- és a rákövetkező újsorkarakter közé esik, figyelmen kívül hagy a
- PCRE. Ez egyenértékű a Perl /x módosítójával, ami lehetővé teszi
- megjegyzések elhelyezését a bonyolultabb mintákban. Megjegyzendő,
- hogy ez csak bizonyos poziciókra vonatkozik, térközkarakterek soha
+ és a rákövetkező újsorkarakter közé esik, figyelmen kívül hagy a
+ PCRE. Ez egyenértékű a Perl /x módosítójával, ami lehetővé teszi
+ megjegyzések elhelyezését a bonyolultabb mintákban. Megjegyzendő,
+ hogy ez csak bizonyos poziciókra vonatkozik, térközkarakterek soha
nem szerepelhetnek speciális karaktersorozatokban, mint például (?(
-ban, ami egy feltételes részminta kezdetét jelöli.
@@ -820,13 +821,13 @@
Ha ez a módosító be van kapcsolva, akkor preg_replace
- függvény a helyettesítési paraméterként kapott
- sztringet - a hivatkozások feloldása után - PHP kódként értelmezi,
- és ennek a kódnak az eredményét helyettesíti be a keresett szöveg
+ függvény a helyettesítési paraméterként kapott
+ sztringet - a hivatkozások feloldása után - PHP kódként értelmezi,
+ és ennek a kódnak az eredményét helyettesíti be a keresett szöveg
helyére.
- Csak a preg_replace használja ezt a módosítót,
+ Csak a preg_replace használja ezt a módosítót,
a többi PCRE függvény figyelmen kívül hagyja.
@@ -835,9 +836,9 @@
A (PCRE_ANCHORED)
- Ha ez a módosító be van kapcsolva, akkor a keresett mintát
- "lerögzíti", ami annyit jelent, hogy a minta illesztése
- korlátozva van a tárgyszöveg elejére. Ezt a hatást elérhetjük
+ Ha ez a módosító be van kapcsolva, akkor a keresett mintát
+ "lerögzíti", ami annyit jelent, hogy a minta illesztése
+ korlátozva van a tárgyszöveg elejére. Ezt a hatást elérhetjük
ha magát a mintát megfelelően alakítjuk ki, miként Perl-ben ennek ez
az egyetlen módja.
@@ -849,9 +850,9 @@
Ha ez a módosító be van kapcsolva, akkor dollár metakarakter ($)
a mintán belül csak a tárgyszöveg végére illeszkedik. Enélkül
- a módosító nélkül a $ a legutolsó újsorkarakter előtti pozicióra is
+ a módosító nélkül a $ a legutolsó újsorkarakter előtti pozicióra is
illeszkedik, de semmilyen más poziciójú újsorkarakter előtt nem.
- Ezt a módosítót figyelmen kívül hagyja a PCRE, ha a
+ Ezt a módosítót figyelmen kívül hagyja a PCRE, ha a
m be van kapcsolva. Nincs megfelelője Perl-ben.
@@ -861,9 +862,9 @@
Ha egy mintát többször használunk, akkor érdemes több időt hagyni
- a kiértékelésére, hogy az illesztésre fordított idő
+ a kiértékelésére, hogy az illesztésre fordított idő
lerövidülhessen. Ennek a módosítónak a bekapcsolásával ezt biztosítjuk.
- Jelenleg, csak olyan nem "rögzített" minták esetén
+ Jelenleg, csak olyan nem "rögzített" minták esetén
hasznos, amelyek nem egy egyszerű, rögzített karakterrel kezdődnek.
@@ -873,8 +874,8 @@
Ez a módosító megfordítja a kvantorok (sokszorozók) mohóságát,
- azaz alapértelmezés szerint nem lesznek mohók, csak ha egy ? követi
- azokat. Ez nem Perl-kompatibilis. A mintában is beállítható
+ azaz alapértelmezés szerint nem lesznek mohók, csak ha egy ? követi
+ azokat. Ez nem Perl-kompatibilis. A mintában is beállítható
(?U) sorozat megadásával.
@@ -883,12 +884,12 @@
X (PCRE_EXTRA)
- Ez a módosító PCRE további lehetőségeit teszi elérhetővé, amelyek
- nem Perl-kompatibilisak. Valamennyi visszaperjel a mintában, amit
+ Ez a módosító PCRE további lehetőségeit teszi elérhetővé, amelyek
+ nem Perl-kompatibilisak. Valamennyi visszaperjel a mintában, amit
olyan karakter követ, aminek nincs speciális jelentése, hibát okoz,
és ilyenformán lefoglalja ezeket a karakterkombinációkat a jövőbeni
- kiterjesztések előtt. Alapértelmezés szerint az ilyen különleges
- jelentés nélküli karakter előtt álló visszaperjelet a Perl betű
+ kiterjesztések előtt. Alapértelmezés szerint az ilyen különleges
+ jelentés nélküli karakter előtt álló visszaperjelet a Perl betű
szerint veszi. Jelenleg nincs más jellegzetesség, amit ez a módosító
befolyásolna.
@@ -899,7 +900,7 @@
Ez a módosító is PCRE olyan további lehetőségét teszi elérhetővé,
- ami nem Perl-kompatibilis. A mintát UTF-8 kódolású szövegnek
+ ami nem Perl-kompatibilis. A mintát UTF-8 kódolású szövegnek
tekinti. Ez a módosító PHP 4.1.0-től kezdve érhető el.
@@ -920,8 +921,8 @@
Leírás
- A PCRE könyvtár függvények sorát tartalmazza, amelyek reguláris
- kifejezések mintaillesztését végzik el ugyanazt a szintaxist és
+ A PCRE könyvtár függvények sorát tartalmazza, amelyek reguláris
+ kifejezések mintaillesztését végzik el ugyanazt a szintaxist és
szemantikát használva - néhány eltérést nem számítva -, mint a Perl 5.
(lásd alább). A jelenlegi megvalósítás Perl 5.005-höz hasonló.
@@ -934,55 +935,55 @@
- 1. Alapértelmezés szerint térköznek tekintendő minden olyan karakter,
- amit a C könyvtár isspace() függvénye felismer, bár lehetőség van arra,
- hogy PCRE-t eltérő karakterkódtáblázattal fordítsuk le. Az isspace()
- rendszerint a szóköz, lapdobás, "kocsi-vissza", újsor és vízszintes
- illetve függőleges tabulátorokat tekinti térköznek. Perl 5-ben ez utóbbi
- már nem szerepel a listában. A \v szekvencia nagyon sokáig benne volt a
- Perl dokumentációjában, valójában soha nem ismerte fel mintaillesztés
- közben. Legalább az 5.002 verzióig ezt a karaktert is térköznek
+ 1. Alapértelmezés szerint térköznek tekintendő minden olyan karakter,
+ amit a C könyvtár isspace() függvénye felismer, bár lehetőség van arra,
+ hogy PCRE-t eltérő karakterkódtáblázattal fordítsuk le. Az isspace()
+ rendszerint a szóköz, lapdobás, "kocsi-vissza", újsor és vízszintes
+ illetve függőleges tabulátorokat tekinti térköznek. Perl 5-ben ez utóbbi
+ már nem szerepel a listában. A \v szekvencia nagyon sokáig benne volt a
+ Perl dokumentációjában, valójában soha nem ismerte fel mintaillesztés
+ közben. Legalább az 5.002 verzióig ezt a karaktert is térköznek
tekintették, de a 5.004 és 5.005 verziókban már nem illeszkedik a \s-re.
- 2. PCRE nem engedi meg az előretekintő tesztekben (lookahead assertion)
+ 2. PCRE nem engedi meg az előretekintő tesztekben (lookahead assertion)
a kvantorok (sokszorozók) használatát. Perl-ben ez megengedett, de nem a
várt eredményt adja. Például (?!a){3}, nem azt jelenti, hogy teszteli, vajon
- a következő három karakter nem "a", hanem azt, hogy háromszor "jelenti",
+ a következő három karakter nem "a", hanem azt, hogy háromszor "jelenti",
ha a következő karakter nem "a".
- Tagadó előretekintő tesztekben (negated lookahead assertion) szereplő
- "begyűjtő" részminták (capturing subpatterns) számon vannak tartva, de a
- hozzájuk tartozó numerikus változók soha nem kerülnek feltöltésre.
- Perl feltölti ezeket a numerikus változókat valamilyen, a sikertelen
- teszt előtti mintára illeszkedő részt követő karakterekkel, de csak
+ Tagadó előretekintő tesztekben (negated lookahead assertion) szereplő
+ "begyűjtő" részminták (capturing subpatterns) számon vannak tartva, de a
+ hozzájuk tartozó numerikus változók soha nem kerülnek feltöltésre.
+ Perl feltölti ezeket a numerikus változókat valamilyen, a sikertelen
+ teszt előtti mintára illeszkedő részt követő karakterekkel, de csak
akkor, ha a tagadó előretekintő tesztnek csak egy ága volt.
A bináris nullkarakter használata megengedett a tárgyszövegben, de
- a mintában nem, mert a mintául szolgáló sztring nullvégű C sztringként
- adódik át. A "\0" vezérlőszekvencia használható a mintában bináris
+ a mintában nem, mert a mintául szolgáló sztring nullvégű C sztringként
+ adódik át. A "\0" vezérlőszekvencia használható a mintában bináris
nullkarakter megjelenítésére.
- Nem támogatja az alábbi Perl vezérlőszekvenciákat:
- \l, \u, \L, \U, \E, \Q. Valójában ezek a funkciók a Perl
- sztringkezelő részében vannak megvalósítva, és nem tartoznak annak
+ Nem támogatja az alábbi Perl vezérlőszekvenciákat:
+ \l, \u, \L, \U, \E, \Q. Valójában ezek a funkciók a Perl
+ sztringkezelő részében vannak megvalósítva, és nem tartoznak annak
mintaillesztő motorjához.
- A Perl \G tesztjét nem támogatja, mivel nem fontos az egyszeres minta
+ A Perl \G tesztjét nem támogatja, mivel nem fontos az egyszeres minta
illesztésekben.
@@ -999,50 +1000,50 @@
$2 numerikus változó értéke "b" lesz, míg a "aabbaa"-ra illesztve
/^(aa(bb)?)+$/ -t $2 üres marad. Mindamellett /^(aa(b(b))?)+$/ -ra
módosítva a mintát $2 és $3 is beállításra kerül. Perl 5.004-ben
- $2 mindkét esetben beállításra kerül, mint ahogy ez a PCRE-re is
- igaz. Ha a jövőben a Perl-ben ezt egységesíteni fogják, akkor PCRE
+ $2 mindkét esetben beállításra kerül, mint ahogy ez a PCRE-re is
+ igaz. Ha a jövőben a Perl-ben ezt egységesíteni fogják, akkor PCRE
követni fogja ezt.
Másik mindeddig megoldatlan eltérés, hogy pl. /^(a)?(?(1)a|b)+$/
- minta Perl 5.002_2-ben illeszkedik a "a"-ra, míg PCRE-ben nem. Ráadásul
- mind Perl-ben mind PCRE-ben /^(a)?a/ minta "a"-ra illesztése során a $1
+ minta Perl 5.002_2-ben illeszkedik a "a"-ra, míg PCRE-ben nem. Ráadásul
+ mind Perl-ben mind PCRE-ben /^(a)?a/ minta "a"-ra illesztése során a $1
változó üresen marad.
- PCRE néhény bővítést is nyújt a Perl reguláris kifejezéseinek
+ PCRE néhény bővítést is nyújt a Perl reguláris kifejezéseinek
lehetőségeihez:
- Jóllehet a hátratekintő tesztek csak rögzített hosszúságú
- sztringekre illeszkedhetnek, az alternatív ágak mindegyikében különböző
- hosszúságú sztringre illeszkedő minta adható meg. Perl 5.005-ben minden
+ Jóllehet a hátratekintő tesztek csak rögzített hosszúságú
+ sztringekre illeszkedhetnek, az alternatív ágak mindegyikében különböző
+ hosszúságú sztringre illeszkedő minta adható meg. Perl 5.005-ben minden
ágban ugyanakkorának kell lennie ennek a hossznak.
- Ha a PCRE_DOLLAR_ENDONLY
+ Ha a PCRE_DOLLAR_ENDONLY
be van kapcsolva, és a PCRE_MULTILINE nincs bekapcsolva,
akkor $ metakarakter csakis a sztring legvégére illeszkedik.
- Ha PCRE_EXTRA be van
- kapcsolva, akkor bármilyen külön jelentéssel nem bíró karakter előtti
+ Ha PCRE_EXTRA be van
+ kapcsolva, akkor bármilyen külön jelentéssel nem bíró karakter előtti
visszaperjel hibának minősül.
Ha PCRE_UNGREEDY be van
- kapcsolva, akkor a kvantorok (sokszorozók) mohóságát fordítva értelmezi,
+ kapcsolva, akkor a kvantorok (sokszorozók) mohóságát fordítva értelmezi,
azaz, alapértelmezés szerint nem mohók, csak ha egy kérdőjel ? áll utánuk.
@@ -1058,36 +1059,36 @@
Bevezetés
- Az alábbiakban a PCRE által megvalósított reguláris kifejezések
- szintaktikáját és szemantikáját adjuk meg. A reguláris kifejezések
- leírása a Perl dokumentációnak része is, és néhány könyv is foglalkozik
- vele, némelyik rengeteg példával. Jeffrey Friedl "Mastering Regular
- Expression" c. könyve, amely az O'Reilly gondozásában jelent meg (ISBN
+ Az alábbiakban a PCRE által megvalósított reguláris kifejezések
+ szintaktikáját és szemantikáját adjuk meg. A reguláris kifejezések
+ leírása a Perl dokumentációnak része is, és néhány könyv is foglalkozik
+ vele, némelyik rengeteg példával. Jeffrey Friedl "Mastering Regular
+ Expression" c. könyve, amely az O'Reilly gondozásában jelent meg (ISBN
1-56592-257-3) igen nagy mélységben tárgyalja a reguláris kifejezéseket.
Az itteni leírást referenciának szánjuk.
- A reguláris kifejezés maga egy minta, amit a tárgyszövegre kell
- illeszteni balról jobbra. A karakterek többsége maga helyett áll a
- mintában, azaz csak saját magára illeszkedik a tárgyszövegben. Egy
- egyszerű példán bemutatva: az a gyors vörös róka minta
- a tárgyszöveg azon részére illeszkedik, ami megegyezik vele (azaz ahol az
+ A reguláris kifejezés maga egy minta, amit a tárgyszövegre kell
+ illeszteni balról jobbra. A karakterek többsége maga helyett áll a
+ mintában, azaz csak saját magára illeszkedik a tárgyszövegben. Egy
+ egyszerű példán bemutatva: az a gyors vörös róka minta
+ a tárgyszöveg azon részére illeszkedik, ami megegyezik vele (azaz ahol az
a gyors vörös róka előfordul).
Metakarakterek
- A reguláris kifejezések ereje abban rejlik, hogy lehetőségünk van
+ A reguláris kifejezések ereje abban rejlik, hogy lehetőségünk van
vagylagosságot (alternatívákat) és ismétléseket megadni a mintában.
Ezeket a metakarakterek használatával lehet megadni,
- amelyek nem saját maguk helyett állnak a mintában, hanem speciális
+ amelyek nem saját maguk helyett állnak a mintában, hanem speciális
jelentéssel bírnak.
Két különböző típusú metakarakter létezik:
- az egyik bárhol előfordulhat a mintában, kivéve szögeletes zárójelek []
- között, és a másik, ami csak szögeletes zárójelek között azonosítható
+ az egyik bárhol előfordulhat a mintában, kivéve szögeletes zárójelek []
+ között, és a másik, ami csak szögeletes zárójelek között azonosítható
metakarakterként. A szögletes zárójeleken kívüli metakarakterek:
@@ -1102,7 +1103,7 @@
^
- tárgyszöveg elejét (vagy sor elejét többsoros módban) jelenti
+ tárgyszöveg elejét (vagy sor elejét többsoros módban) jelenti
@@ -1118,7 +1119,7 @@
.
- bármilyen karakterre illeszkedik, kivéve az újsor karaktert
+ bármilyen karakterre illeszkedik, kivéve az újsor karaktert
(alapértelmezés szerint)
@@ -1168,7 +1169,7 @@
opcionálitást jelez (0 vagy 1 előfordulást engedélyez),
- vagy kibővíti az előtte álló ( jelentését,
+ vagy kibővíti az előtte álló ( jelentését,
és a kvantorok (sokszorozók) mohóságát befolyásolja
@@ -1207,8 +1208,8 @@
- A minta szögletes zárójelek [] közötti részét karakterosztálynak hívjuk.
- A karakterosztályokban engedélyezett metakarakterek a következők:
+ A minta szögletes zárójelek [] közötti részét karakterosztálynak hívjuk.
+ A karakterosztályokban engedélyezett metakarakterek a következők:
\
@@ -1222,7 +1223,7 @@
^
- negálja az osztályt, kizáró / tagadó osztályt definiál,
+ negálja az osztályt, kizáró / tagadó osztályt definiál,
de csak ha ez az első karakter az osztályon belül
@@ -1251,33 +1252,33 @@
visszaperjel \
A visszaperjel \ karakternek számos alkalmazása van.
- Először is, ha nem alfanumerikus karakter követi, akkor annak bármilyen
- különleges jelentését (metakarakterek) figyelmen kívül hagyja, és azt
- mint maga helyett álló karaktert értelmezi. Ebben a minőségében mind
+ Először is, ha nem alfanumerikus karakter követi, akkor annak bármilyen
+ különleges jelentését (metakarakterek) figyelmen kívül hagyja, és azt
+ mint maga helyett álló karaktert értelmezi. Ebben a minőségében mind
karakterosztályon belül mind kívül használható.
Például, ha "*" karaktert kell illeszteni, akkor "\*"-t kell írni a
- mintában. Akármikor használható ez a szerkezet, akár a következő karakter
- egyébként metakarakterként lenne értelmezve, akár nem. (Egy kivétel van
- lásd a ] karakternél - a fordító.) Ezért biztos módszer előírni azt, hogy
- minden nem alfanumerikus karakter maga helyett álljon, úgy, hogy
- visszaperjelet (\) írunk elé. Különben ha a visszaperjelre szeretnénk
+ mintában. Akármikor használható ez a szerkezet, akár a következő karakter
+ egyébként metakarakterként lenne értelmezve, akár nem. (Egy kivétel van
+ lásd a ] karakternél - a fordító.) Ezért biztos módszer előírni azt, hogy
+ minden nem alfanumerikus karakter maga helyett álljon, úgy, hogy
+ visszaperjelet (\) írunk elé. Különben ha a visszaperjelre szeretnénk
illeszteni, akkor "\\"-t kell írni.
- Ha a minta PCRE_EXTENDED
+ Ha a minta PCRE_EXTENDED
módosítóval van megadva, akkor minden olyan térközkaraktert figyelmen
- kívül hagy, amely karakterosztályon kívül vagy karakterosztályon
- kívüli "#" és azt követő újsor-karakter között szerepel. Visszaperjellel
+ kívül hagy, amely karakterosztályon kívül vagy karakterosztályon
+ kívüli "#" és azt követő újsor-karakter között szerepel. Visszaperjellel
bevezetett térköz- vagy "#" karakterek a minta részét képezik.
- A visszaperjel másik alkalmazása a nem nyomtatható karakterek kódolását
- teszi láthatóvá a mintában. Nincs megszorítás a nem nyomtatható karakterek
- megjelenésére, kivéve a mintát lezáró nullkaraktert.
- Ha a minta szövegszerkesztés folyományaként áll elő, akkor általában
- könnyebb valamelyik alábbi vezérlőszekvenciát használni, mint az általuk
+ A visszaperjel másik alkalmazása a nem nyomtatható karakterek kódolását
+ teszi láthatóvá a mintában. Nincs megszorítás a nem nyomtatható karakterek
+ megjelenésére, kivéve a mintát lezáró nullkaraktert.
+ Ha a minta szövegszerkesztés folyományaként áll elő, akkor általában
+ könnyebb valamelyik alábbi vezérlőszekvenciát használni, mint az általuk
reprezentált karakter bináris alakját:
@@ -1357,40 +1358,40 @@
- A "\cx" feloldása precízen megfogalmazva a következő:
+ A "\cx" feloldása precízen megfogalmazva a következő:
ha "x" kisbetű, akkor nagybetűvé konvertálódik. Ezután
- a karakter 6. bitjét (hexadecimálisan 40) invertálja. Ilyenformán
+ a karakter 6. bitjét (hexadecimálisan 40) invertálja. Ilyenformán
"\cz"-ból hexadecimális 1A lesz, de
- "\c{"-ból hexadecimális 3B lesz, míg
+ "\c{"-ból hexadecimális 3B lesz, míg
"\c;"-ból hexadecimális 7B.
- A "\x" után két hexadecimális számjegy kerül
+ A "\x" után két hexadecimális számjegy kerül
beolvasásra (a betűk lehetnek kis és nagybetűk is).
- A "\0" után két további oktális számjegy kerül
- beolvasásra. Minden esetben - még ha kevesebb, mint két számjegy került
- is megadásra - a meglevő számjegyek lesznek felhasználva. Ekképpen
- "\0\x\07" egy olyan sorozatot definiál, ahol két
- bináris nullkaraktert követ egy csengőkarakter. Bizonyosodj meg affelől,
+ A "\0" után két további oktális számjegy kerül
+ beolvasásra. Minden esetben - még ha kevesebb, mint két számjegy került
+ is megadásra - a meglevő számjegyek lesznek felhasználva. Ekképpen
+ "\0\x\07" egy olyan sorozatot definiál, ahol két
+ bináris nullkaraktert követ egy csengőkarakter. Bizonyosodj meg affelől,
hogy mindig van két számjegy a kezdő 0 után, ha a következő karakter
oktális számjegy!
A nem 0-val folytatódó visszaperjel kezelése bonyolult. Karakterosztályon
- kívül PCRE ezt és a soron következő számjegyeket tízes
- számrendszerbeli számként értelmezi. Ha szám 10-nél kisebb vagy
- legalább ezzel a számmal egyező "gyűjtő" nyitó zárójel előzi meg a
- kifejezésben, akkor az egész sorozatot hivatkozásként értelmezi.
- Később a zárójelezett részminták fejezetében részletesen tárgyaljuk,
+ kívül PCRE ezt és a soron következő számjegyeket tízes
+ számrendszerbeli számként értelmezi. Ha szám 10-nél kisebb vagy
+ legalább ezzel a számmal egyező "gyűjtő" nyitó zárójel előzi meg a
+ kifejezésben, akkor az egész sorozatot hivatkozásként értelmezi.
+ Később a zárójelezett részminták fejezetében részletesen tárgyaljuk,
hogyan használható is ez.
- Karakterosztályon belül vagy ha a tízes számrendszerbeli szám 9-nél nagyobb,
- és nincs ennyi számú "gyűjtő" részminta, akkor PCRE újraolvassa a
+ Karakterosztályon belül vagy ha a tízes számrendszerbeli szám 9-nél nagyobb,
+ és nincs ennyi számú "gyűjtő" részminta, akkor PCRE újraolvassa a
visszaperjelet követő három oktális karaktert, és egy bájtra váltja a 8
- legkisebb helyiértékű bitet. Bármely rákövetkező számjegy maga helyett
+ legkisebb helyiértékű bitet. Bármely rákövetkező számjegy maga helyett
áll, magára illeszkedik.
@@ -1407,7 +1408,7 @@
\40
- ugyanaz mint előbb, ha biztosított, hogy 40-nél kevesebb "gyűjtő"
+ ugyanaz mint előbb, ha biztosított, hogy 40-nél kevesebb "gyűjtő"
részminta van előtte
@@ -1473,18 +1474,18 @@
- Figyelj arra, hogy 100-nál nagyobb oktális értékek elé nem szabad
+ Figyelj arra, hogy 100-nál nagyobb oktális értékek elé nem szabad
bevezető 0-t írni, mert mindig csak három oktális kerül beolvasásra.
- Minden sorozat, ami egy egyszerű bájtot határoz meg, karakterosztályon
+ Minden sorozat, ami egy egyszerű bájtot határoz meg, karakterosztályon
belül és kívül is használható. Ráadásul karakterosztályokon belül a
- "\b" szekvencia "visszatörlés" karakterként
- (backspace) (hexadecimálisan 08) jelent. Ennek karakterosztályokon
+ "\b" szekvencia "visszatörlés" karakterként
+ (backspace) (hexadecimálisan 08) jelent. Ennek karakterosztályokon
kívül más jelentése van (lásd alább).
- A visszaperjel harmadik alkalmazási módja általános karakterfajták
+ A visszaperjel harmadik alkalmazási módja általános karakterfajták
megadása:
@@ -1501,7 +1502,7 @@
\D
- bármilyen karakter, ami nem tízes számrendszerbeli számjegy
+ bármilyen karakter, ami nem tízes számrendszerbeli számjegy
@@ -1540,33 +1541,33 @@
- Mindegyik szekvenciapár két diszjunkt (egymással nem átfedő) részre
+ Mindegyik szekvenciapár két diszjunkt (egymással nem átfedő) részre
osztja a karakterek teljes halmazát. Minden karakter csakis a párok egyik
felébe tartozik.
- "Szóépítő" karakter minden betű vagy számjegy vagy aláhúzás, azaz
- minden olyan karakter, amit egy Perl-típusú "szónak"
- része lehet. A betűk és számjegyek értelmezése a PCRE
- karaktertáblázataitól függ, amelyek változhatnak ha nyelvi beállítástól
- függően. Például, "fr" (vagy "hu" - a fordító) nyelvi beálllítás esetén
- 128-nál magasabb kódú karakterek használatosak az ékezetes betűkhöz,
+ "Szóépítő" karakter minden betű vagy számjegy vagy aláhúzás, azaz
+ minden olyan karakter, amit egy Perl-típusú "szónak"
+ része lehet. A betűk és számjegyek értelmezése a PCRE
+ karaktertáblázataitól függ, amelyek változhatnak ha nyelvi beállítástól
+ függően. Például, "fr" (vagy "hu" - a fordító) nyelvi beálllítás esetén
+ 128-nál magasabb kódú karakterek használatosak az ékezetes betűkhöz,
amelyekre illeszkedik a \w.
- Ezek a karakterfajták mind karekterosztályokon belül és kívül is
- alkalmazhatók. Mindegyik csak egy, a neki megfelelő karakterre
- illeszkedik. Ha az aktuális illeszkedési pont a tárgyszöveg vége, akkor
- mindegyik sikertelen lesz, mert egyáltalán nincs karakter, amire
+ Ezek a karakterfajták mind karekterosztályokon belül és kívül is
+ alkalmazhatók. Mindegyik csak egy, a neki megfelelő karakterre
+ illeszkedik. Ha az aktuális illeszkedési pont a tárgyszöveg vége, akkor
+ mindegyik sikertelen lesz, mert egyáltalán nincs karakter, amire
illeszteni lehetne.
- A visszaperjelet végül de nem utolsósorban néhány egyszerű teszt
- megadására használhatjuk. A tesztek (assertion) olyan feltételek,
- amelyeknek az illesztés adott pontján kell teljesülnie anélkül, hogy a
- tárgyszöbegből karaktereket használnának el - és így karaktereket
- vennének el az illesztéstől. Később megadjuk, hogy hogyan használhatók
- a részminták összetettebb tesztek megadásához.
+ A visszaperjelet végül de nem utolsósorban néhány egyszerű teszt
+ megadására használhatjuk. A tesztek (assertion) olyan feltételek,
+ amelyeknek az illesztés adott pontján kell teljesülnie anélkül, hogy a
+ tárgyszöbegből karaktereket használnának el - és így karaktereket
+ vennének el az illesztéstől. Később megadjuk, hogy hogyan használhatók
+ a részminták összetettebb tesztek megadásához.
A "visszaperjeles" tesztek:
@@ -1599,7 +1600,7 @@
\Z
- tárgyszöveg vége vagy újsor karakter a végén (függetlenül többsoros
+ tárgyszöveg vége vagy újsor karakter a végén (függetlenül többsoros
üzemmódtól)
@@ -1615,86 +1616,86 @@
- Ezek a tesztek karakterosztályokban nem használhatók. (Figyeld meg, hogy
- "\b"-nek eltérő jelentése van karakteroszályokon
+ Ezek a tesztek karakterosztályokban nem használhatók. (Figyeld meg, hogy
+ "\b"-nek eltérő jelentése van karakteroszályokon
belül, nevezetesen itt a "visszatörlés" karakter helyett áll.)
- A szóhatár a tárgyszöveg azon poziciója, ahol az aktuális és az azt
- megelőző karakterek fajtája \w illetve \W vagy fordítva
+ A szóhatár a tárgyszöveg azon poziciója, ahol az aktuális és az azt
+ megelőző karakterek fajtája \w illetve \W vagy fordítva
(az egyik \w-re illeszkedik, míg a másik \W-re), vagy a tárgyszöveg eleje illetve
- vége, ha az első illetve utolsó karakter a \w-re
+ vége, ha az első illetve utolsó karakter a \w-re
illeszkedik.
- A \A, \Z és \z tesztek különböznek a hagyományos kalap(os ékezet) "^" és
- dollárjel "$" szimbólumoktól, mert az előbbiek minden esetben csakis a
+ A \A, \Z és \z tesztek különböznek a hagyományos kalap(os ékezet) "^" és
+ dollárjel "$" szimbólumoktól, mert az előbbiek minden esetben csakis a
tárgyszöveg legelejére illetve legvégére illeszkednek. Nem befolyásolja a
- viselkedésüket sem PCRE_NOTBOL sem PCRE_NOTBOL sem PCRE_NOTEOL módosító.
- A \Z és \z közti különbség annyi, hogy a \z csak a tárgyszöveg végére
+ A \Z és \z közti különbség annyi, hogy a \z csak a tárgyszöveg végére
illeszkedik, míg \Z az esetlegesen a tárgyszöveg végén lévő újsor karakter előtt is.
kalap(os ékezet) ^ és dollárjel $
- Karakterosztályokon kívül az alapértelmezett illesztési
- üzemmódban a kalap(os ékezet) egy olyan tesztet jelent,amely
- csak akkor és csak is akkor igaz (&true;), ha a pillanatnyi
- illesztési pont a tárgyszöveg kezdete. Karakterosztályokon
+ Karakterosztályokon kívül az alapértelmezett illesztési
+ üzemmódban a kalap(os ékezet) egy olyan tesztet jelent,amely
+ csak akkor és csak is akkor igaz (&true;), ha a pillanatnyi
+ illesztési pont a tárgyszöveg kezdete. Karakterosztályokon
belül teljesen más jelentése van (lásd alább).
- A kalapnak akkor nem szükséges a minta legelején állnia, ha
- több választási lehetőség is fennáll (lásd: retesz pipa
+ A kalapnak akkor nem szükséges a minta legelején állnia, ha
+ több választási lehetőség is fennáll (lásd: retesz pipa
csővezeték |), de minden választható ágban a legelsőnek kell
lennie, ha azt akarod, hogy a minta valaha is illeszkedjen.
- Ha mindegyik lehetséges ág "kalappal" kezdődik, azaz ha a
+ Ha mindegyik lehetséges ág "kalappal" kezdődik, azaz ha a
minta mindenesetben csak a tárgyszöveg elejétől kezdve
- illeszkedhet, akkor "(le)rögzített" mintáról beszélünk.
+ illeszkedhet, akkor "(le)rögzített" mintáról beszélünk.
(Más módja is van, hogy egy mintát "rögzíts".)
-
+
A dollárjel olyan tesztet jelent, amely csak akkor és csakis
- akkor igaz (&true;), ha a pillanatnyi illesztési pont a
- tárgyszöveg vége vagy egy újsor karakter előtti pozició - az
- alapértelmezés szerint. A dollárjelnek akkor nem szükséges a
- minta legvégén állnia, ha több választási lehetőség is fennáll
+ akkor igaz (&true;), ha a pillanatnyi illesztési pont a
+ tárgyszöveg vége vagy egy újsor karakter előtti pozició - az
+ alapértelmezés szerint. A dollárjelnek akkor nem szükséges a
+ minta legvégén állnia, ha több választási lehetőség is fennáll
(lásd: retesz pipa csővezeték |),de minden választható ágban
- ahol szerepel - a legutolsónak kell lennie. A dollárjelnek
nincs külön jelentése karakterosztályokon belül.
-
- A dollárjel jelentése megváltozik és csak a tárgyszöveg
- végére illeszkedik, ha a PCRE_DOLLAR_ENDONLY módosító be van
- kapcsolva a minta fordításakor / kiértékelésekor vagy az
+
+ A dollárjel jelentése megváltozik és csak a tárgyszöveg
+ végére illeszkedik, ha a PCRE_DOLLAR_ENDONLY módosító be van
+ kapcsolva a minta fordításakor / kiértékelésekor vagy az
illesztés pillanatában. Ez nem érinti a \Z tesztet.
-
+
A kalap(os ékezet) és a dollárjel jelentését megváltoztatja
PCRE_MULTILINE módosító bekapcsolása. Ebben az esetben a
közbenső "\n" újsorkarakterek közvetlen előtti illetve utáni
- pozicióira is illeszkednek a tárgyszöveg eleji és végi
+ pozicióira is illeszkednek a tárgyszöveg eleji és végi
pozición felül. Például, így a /^abc$/ minta többsoros
- üzemmódban illeszkedik a "def\nabc" szövegre, de egyébként
+ üzemmódban illeszkedik a "def\nabc" szövegre, de egyébként
nem. Következésképpen az egysoros üzemmódban "rögzítettnek"
tekintett minták, nem "rögzítettek" többsoros üzemmódban,
- mert ekkor "^"-kal kezdődő vagylagos ágak nem tekinthetők
- "rögzítettnek". A PCRE_DOLLAR_ENDONLY módosítót figyelmen kívül hagyja, ha a
+ mert ekkor "^"-kal kezdődő vagylagos ágak nem tekinthetők
+ "rögzítettnek". A PCRE_DOLLAR_ENDONLY módosítót figyelmen kívül hagyja, ha a
PCRE_MULTILINE, módosító be van kapcsolva.
- Figyelj arra, hogy a \A, \Z és \z szekvenciák mindkét
- üzemmódban használhatók a tárgyszöveg elejére illetve végére
- illesztésben, és ha minden vagylagos ág \A -val kezdődik,
- akkor a minta mindig "rögzített" lesz akármi is a
+ Figyelj arra, hogy a \A, \Z és \z szekvenciák mindkét
+ üzemmódban használhatók a tárgyszöveg elejére illetve végére
+ illesztésben, és ha minden vagylagos ág \A -val kezdődik,
+ akkor a minta mindig "rögzített" lesz akármi is a
PCRE_MULTILINE módosító állapota.
pont .
- Karakterosztályokon kívül a pont bármelyik karakterre
- illeszkedik beleértve minden nem nyomtatható karaktert is,
+ Karakterosztályokon kívül a pont bármelyik karakterre
+ illeszkedik beleértve minden nem nyomtatható karaktert is,
kivéve az újsort - alapértelmezés szerint. Ha a PCRE_DOTALL
be van kapcsolva, akkor az újsor karakterre is illeszkedik.
- A pont kezelése teljesen független a kalap(os ékezet) ^ és
+ A pont kezelése teljesen független a kalap(os ékezet) ^ és
a dollárjel $ kezelésétől, az egyetlen közös hármukban, hogy
mindegyiknek köze van az újsor karakterhez. A pontnak nincs
speciális jelentése karakterosztályokon belül.
@@ -1710,13 +1711,13 @@
kell állnia - az esetleges kalap(os ékezet) után -, vagy egy
visszaperjelet kell eléírni.
- A karakterosztályok csak a tárgyszöveg egyetlen karakterére
- illeszkednek. Ha a karakterosztály legelső karaktere nem a
+ A karakterosztályok csak a tárgyszöveg egyetlen karakterére
+ illeszkednek. Ha a karakterosztály legelső karaktere nem a
kalap(os ékezet) ^,akkor ez csak a karakterosztályba tartozó
karakterek valamelyikére illeszkedik, ha a legelső karakter
kalap(os ékezet) ^ , akkor pedig csak azokra, amelyek nem
elemei az osztálynak. (Ez utóbbit hívjuk tagadó vagy kizáró
- karakterosztálynak - a fordító.) Ha a kalap(os ékezet) ^
+ karakterosztálynak - a fordító.) Ha a kalap(os ékezet) ^
karaktert kell megadni egy karakterosztály elemeként, akkor
az nem lehet a legelső pozicióban, vagy visszaperjelet kell
eléírni.
@@ -1724,15 +1725,15 @@
Az [aeiou] karakterosztály például minden kisbetűs ékezet
nélküli magánhangzóra illeszkedik, míg az [^aeiou] pont
ezekre nem. A kalap(os ékezet) kényelmes jelölési forma olyan
- karakterosztályok megadására, ahol a kizárandó elemeket
+ karakterosztályok megadására, ahol a kizárandó elemeket
könnyebb felsorolni. Ez nem teszt, ez karaktereket használ
el a tárgyszövegből, ezért a tárgyszöveg végén az illesztés
sikertelen lesz.
Amikor a kis- és nagybetűk különbözősége nem számít, akkor a
- betűk a kis- és nagybetűs alakjukat is képviselik, tehát
+ betűk a kis- és nagybetűs alakjukat is képviselik, tehát
ilyen esetben például [aeiou] illeszkedik az "A"-ra és az
- "a"-ra is, és az [^aeiou] nem illeszkedik a "A"-ra, csak ha
+ "a"-ra is, és az [^aeiou] nem illeszkedik a "A"-ra, csak ha
a kis- és nagybetű különbözősége számít.
Karakterosztályokban az újsort soha nem kezelik különleges
@@ -1741,12 +1742,12 @@
mindig illeszkednek az újsor karakterre.
Az "-" elválasztójellel karaktertartományokat lehet megadni
- a karakterosztályon belül. A [d-m], például, a d és m közti
+ a karakterosztályon belül. A [d-m], például, a d és m közti
bármelyik karakterre illeszkedik - d-t és m-et is beleértve.
Ha az elválasztójelet kell a karakterosztályon belül megadni,
- akkor vagy egy visszaperjelet kell eléírni, vagy olyan
- pozicióban kell megadni, ahol nem lehet tartományképzőként
- értelmezni, jellemzően a karakterosztály első vagy utolsó
+ akkor vagy egy visszaperjelet kell eléírni, vagy olyan
+ pozicióban kell megadni, ahol nem lehet tartományképzőként
+ értelmezni, jellemzően a karakterosztály első vagy utolsó
tagjaként.
A "]" karaktert ebben a literális formában nem lehet egy
@@ -1773,13 +1774,13 @@
A karakterosztályokhoz karakterfajtákat - \d, \D, \s, \S, \w
és \W -t - is hozzáadhatunk, és így a fajtába tartozó
- karaterekkel bővíthejük. A [\dABCDEF] - például - minden
+ karaterekkel bővíthejük. A [\dABCDEF] - például - minden
hexadecimális számjegyre illeszkedik . A kalap(os ékezet)-t
a nagybetűs (tagadó) fajtákkal együtt használva kényelmesen
- megadható a kisbetűs párjuknál korlátozotabb halmaz.A [^\W_]
+ megadható a kisbetűs párjuknál korlátozotabb halmaz.A [^\W_]
karakterosztály minden betűre és számjegyre illeszkedik, de
az aláhúzásra nem (ami ugyancsak eleme a \w-nek).
-
+
A \, -, a kezdő ^ és a záró ] karakterektől eltekintve a
nem alfanumerikus karaktereknek nincs különleges jelentésük
a karakterosztályokon belül, de nem okoz gondot, ha esetleg
@@ -1789,12 +1790,12 @@
Retesz, pipa, csővezeték |
- A "|" karakterrel vagylagos - alternatív - mintákat lehet
- megadni, pontosabban azokat választja el egymástól. Például
+ A "|" karakterrel vagylagos - alternatív - mintákat lehet
+ megadni, pontosabban azokat választja el egymástól. Például
gyula|sacika
- minta illeszkedik a "gyula" és a "sacika" szövegre is.
+ minta illeszkedik a "gyula" és a "sacika" szövegre is.
Bármennyi vagylagos mintát fel lehet sorolni, köztük az üres
mintát is, ami az üres sztringre illeszkedik. Az illesztés a
mintákat balról jobbra, egymás után sorjában veszi, és a
@@ -1806,14 +1807,14 @@
Módosítók mintán belüli beállításai
- A PCRE_CASELESS , PCRE_MULTILINE , PCRE_DOTALL és
+ A PCRE_CASELESS , PCRE_MULTILINE , PCRE_DOTALL és
PCRE_EXTENDED módosítókat a minta belsejében is átállíthatjuk
"(?" és ")" közé írt Perl-beli betűjelzéseikkel. Ezek a betűk:
- i = PCRE_CASELESS
- m = PCRE_MULTILINE
- s = PCRE_DOTALL
- x = PCRE_EXTENDED
+ i = PCRE_CASELESS
+ m = PCRE_MULTILINE
+ s = PCRE_DOTALL
+ x = PCRE_EXTENDED
A "(?im)" bekapcsolja a többsoros és a "kis-nagybetű mindegy"
üzemmódot. Kikapcsolni az egyes beállításokat az eléjük írt
@@ -1828,7 +1829,7 @@
kívüli beállítás olyan, mintha az illesztés kezdetén lett
volna megadva, ezért a következő minták tökéletesen ugyanúgy
működnek:
-
+
(?i)abc
a(?i)bc
ab(?i)c
@@ -1842,7 +1843,7 @@
jutni.
Ha részmintán belül történik módosítóváltoztatás, akkor a
- hatás különböző (Perl 5.005 viselkedésbeli változása).
+ hatás különböző (Perl 5.005 viselkedésbeli változása).
A részmintán belüli módosító-állítás csak a részminta
hátramaradó részét érinti, ezért
@@ -1851,17 +1852,17 @@
minta csak az "abc" és "aBc" szövegekre illeszkedik feltéve,
hogy PCRE_CASELESS módosítót nem adtuk meg. Ez azt
jelenti, hogy a minta különböző helyein a módosítók más és
- más értékeit lehet beállítani. Bármilyen változtatás egy
+ más értékeit lehet beállítani. Bármilyen változtatás egy
vagylagos (választható) ágban a következő ágakra is hatással
van ugyanabban a részmintában, például
-
+
(a(?i)b|c)
minta illeszkedik az "ab", "aB", "c" és "C" szövegekre még
akkor is, ha "C"-re illeszkedve az nem is az első ágra esett
a választás, ahol a módosító be lett állítva. Ennek az az
oka, hogy a módosító beállítások hatásai már a kifejezés
- fordításakor / kiértékelésekor rögzülnek, máskülönben néha
+ fordításakor / kiértékelésekor rögzülnek, máskülönben néha
nagyon furcsa viselkedést tapasztalhatnánk.
A PCRE-specifikus PCRE_UNGREEDY és PCRE_EXTRA módosítókat
@@ -1881,23 +1882,23 @@
1. Elágazási lehetőségek helyét jelöli ki (csoportosítás):
- szél(toló|kakas|)
+ szél(toló|kakas|)
- minta illeszkedik a "szél", "széltoló" vagy "szélkakas"
+ minta illeszkedik a "szél", "széltoló" vagy "szélkakas"
szavak egyikére. Zárójel nélkül a "széltoló"-ra, a "kakas"-ra
vagy az üres sztringre illeszkedne.
2. A részmintát "gyűjtő" részmintává változtatja. Ha a
teljes mintát sikerült illeszteni, akkor a tárgyszöveg azon
részei, amelyek a "gyűjtő" részmintákra illeszkedtek,
- a pcre_exec függvény ovector paraméterében a hívó
- függvénynek lesznek átadva.
+ a pcre_exec függvény ovector paraméterében a hívó
+ függvénynek lesznek átadva.
A kerek nyitó zárójelek számozása balról jobbra 1-től kezdve
történik, és "gyűjtő" részminták (sor)számát adják.
-
- Például, ha az "a vörös király" szöveget illesztjük
- a ((vörös|sápadt) (király|királynő))
+ Például, ha az "a vörös király" szöveget illesztjük
+
+ a ((vörös|sápadt) (király|királynő))
mintára, akkor a megtalált / begyűjtött szövegrészek :
1. "vörös király", 2. "vörös" és 3. "király".
@@ -1907,7 +1908,7 @@
csoportosító funkcióra van szükségünk "begyűjtés" nélkül.
Erre szolgál a nyitó zárójel után irható "?:" karaktersorozat
, mert ekkor a részminta nem gyűjti be / tárolja el a
- ráilleszkedő szövegrészt, és nem is számít bele a következő
+ ráilleszkedő szövegrészt, és nem is számít bele a következő
"gyűjtő" részminták sorszámozásába. Az előző példánál maradva
"a sápadt királynő"
@@ -1919,17 +1920,17 @@
részminta "gyűjtő" és "nem-gyűjtő" együtt legfeljebb 200.
Ha egy nem-gyűjtő részminta elején módosítókat kell állítani,
- akkor kényelmes rövidítésként használható, hogy a módosítók
- betűjelei a "?" és a ":" közé írhatók. Ebből adódóan az
+ akkor kényelmes rövidítésként használható, hogy a módosítók
+ betűjelei a "?" és a ":" közé írhatók. Ebből adódóan az
alábbi két minta
(?i:szombat|szerda)
(?:(?i)szombat|szerda)
- pontosan ugyanazokra a sztringekre illeszkedik.
- Mivel a vagylagos / választható ágak próbálgatása balról
- jobbra történik, és a módosító hatása addig él, amíg a
- részminta le nem zárul, az egyik ágban beállított módosító
+ pontosan ugyanazokra a sztringekre illeszkedik.
+ Mivel a vagylagos / választható ágak próbálgatása balról
+ jobbra történik, és a módosító hatása addig él, amíg a
+ részminta le nem zárul, az egyik ágban beállított módosító
hatással van a következő ágra is, ezért a fenti minta
illeszkedik a "SZERDA" és "Szombat" szavakra is.
@@ -1948,7 +1949,7 @@
után.
- Az általános ismétlő kvantor (sokszorozó) - kapcsos
+ Az általános ismétlő kvantor (sokszorozó) - kapcsos
zárójelben vesszővel elválasztva - írja elő azt minimális és
maximális előfordulási számot, ahányszor a mintát illeszteni
kell illetve lehet. Ezeknek 65536-nél kisebbnek kell lenniük,
@@ -1957,23 +1958,23 @@
z{2,4}
minta illeszkedik a "zz", "zzz" vagy "zzzz" szövegekre.
- Az egymagában álló záró kapcsos zárójel nem bír speciális
+ Az egymagában álló záró kapcsos zárójel nem bír speciális
jelentéssel. Ha a második számot nem adjuk meg, de a vessző
szerepel, akkor az illesztésnek nincs felső határa, de ha a
vesszőt is elhagyjuk, akkor a kvantor (sokszorozó) pontosan
- a megadott számú illesztést engedi csak. Ekképpen:
+ a megadott számú illesztést engedi csak. Ekképpen:
[aáeéiíoóöőuúüű]{3,}
legalább 3 egymást követő magánhangzóra illeszkedik, de akár
- többre is, míg a
+ többre is, míg a
\d{8}
csakis 8 darab számjegyre. Ha a nyitó kapcsos zárójel olyan
helyen szerepel, ahol kvantor nem szerepelhet, akkor betű
szerint lesz figyelembe véve, maga helyett áll a mintában. A
- {,6} például nem kvantor (sokszorozó), hanem egy négy
+ {,6} például nem kvantor (sokszorozó), hanem egy négy
karakteres minta betű szerint értelmezve.
A {0} kvantor (sokszorozó) megengedett, és hatása olyan,
@@ -2013,17 +2014,17 @@
/\*.*\*/
- mintát a
+ mintát a
/* első megjegyzés */ c_code(); /* második megjegyzés */
C forrásrészletre illesztve kudarcot vallunk - köszönhetően
a .* elem mohóságának. (Az illesztés sikeres, csak nem arra
- való, amire szerettük volna - a fordító).
+ való, amire szerettük volna - a fordító).
Ha azonban a kvantort (sokszorozót) kérdőjel ? követi, akkor
- ez megszünteti annak mohóságát, és csak a lehető legkevesebb
- illesztést engedi, ezért a
+ ez megszünteti annak mohóságát, és csak a lehető legkevesebb
+ illesztést engedi, ezért a
/\*.*?\*/
@@ -2039,15 +2040,15 @@
egy számjegyre illeszkedik leginkább, és csak akkor kettőre,
ha a minta maradék része másképp nem illeszkedne.
- Ha a PCRE_UNGREEDY módosító be van kapcsolva, akkor
- a kvantorok (sokszorozók) alapértelmezés szerint nem mohók
+ Ha a PCRE_UNGREEDY módosító be van kapcsolva, akkor
+ a kvantorok (sokszorozók) alapértelmezés szerint nem mohók
(szerények :), csak ha egykérdőjel követi őket. Másszóval, a
- kérdőjel átállítja a kvantorok alapértelmezés szerinti
+ kérdőjel átállítja a kvantorok alapértelmezés szerinti
viselkedését.
- Amikor egy zárójelezett részminta egynél többször vagy
- legfeljebb meghatározott számban ismétlődhet, akkor a
- kiértékelt minta több memóriát foglal el a minimális és
+ Amikor egy zárójelezett részminta egynél többször vagy
+ legfeljebb meghatározott számban ismétlődhet, akkor a
+ kiértékelt minta több memóriát foglal el a minimális és
maximális előfordulással arányosan.
Ha a minta .* -val vagy .{0,} -val kezdődik és a PCRE_DOTALL
@@ -2061,10 +2062,10 @@
esetekben, amikor tudjuk, hogy a tárgyszöveg nem tartalmaz
újsorkaraktereket és a minta .* -gal kezdődik, érdemes
beállítani a PCRE_DOTALL módosítót vagy ^ -t használni
- a "rögzítés" eléréséhez, hogy ezt az optimalizálást
+ a "rögzítés" eléréséhez, hogy ezt az optimalizálást
kieszközöljük.
- Ha a "(be)gyűjtő" részminta az illesztés során ismételten
+ Ha a "(be)gyűjtő" részminta az illesztés során ismételten
felhasználásra kerül, akkor a begyűjtött / megtalált szöveg-
rész az utolsó ismétlésben illeszkedő rész lesz. Például a
@@ -2074,7 +2075,7 @@
begyűjtött / megtalált szövegrész "csoriaet" lesz. Egymásba
ágyazott részminták esetén a begyűjtött érték lehet, hogy az
előző lépésben lett beállítva, például:
-
+
/(a|(b))+/
illesztve a "aba" -ra a második begyűjtött szövegrész a "b".
@@ -2083,11 +2084,11 @@
HIVATKOZÁSOK
- Karakterosztályon kívül visszaperjelet követő számjegy(ek) a
+ Karakterosztályon kívül visszaperjelet követő számjegy(ek) a
mintában korábban előforduló "gyűjtő" részmintára történő
hivatkozásnak minősül(nek), ha a számnak megfelelő "gyűjtő"
részminta nyitó kerek-zárójele ( előfordult már a mintában.
-
+
Ha azonban ez a tízes számrendszerbeli szám 10-nél kisebb,
akkor mindig hivatkozásnak minősül, s csak akkor okoz hibát,
ha nincs ennyi "gyűjtő" részminta megnyitva az egész mintán
@@ -2117,19 +2118,19 @@
Egy részmintára több hivatkozás is utalhat. Ha a részminta
ténylegesen nem lett felhasználva az illesztés során, akkor
- bármilyen hivatkozás rá hibát jelent. Például
+ bármilyen hivatkozás rá hibát jelent. Például
(a|(bc))\2
- minta mindig hibázik, ha az illesztés "a"-val kezdődött és
+ minta mindig hibázik, ha az illesztés "a"-val kezdődött és
nem "bc"-vel.Mivel legfeljebb 99 hivatkozás lehet egy mintán
belül, minden visszaperjel után álló számjegy egy lehetséges
- hivatkozás részét képezheti. Ha a mintát számjeggyel
- kellene folytatni, akkor a hivatkozás végét valamilyen
+ hivatkozás részét képezheti. Ha a mintát számjeggyel
+ kellene folytatni, akkor a hivatkozás végét valamilyen
elválasztókarakterrel kell jelezni. Ha PCRE_EXTENDED módosító
- be van kapcsolva, akkor ez bármilyen térközkarakter lehet,
+ be van kapcsolva, akkor ez bármilyen térközkarakter lehet,
egyébként egy üres megjegyzés is megfelel.
-
+
Azok a hivatkozások, amelyek magára a hivatkozást tartalmazó
részmintára utalnak,a részminta első illesztésekor hibáznak,
ezért például (a\1) soha nem illeszkedik semmire. Azonban az
@@ -2139,7 +2140,7 @@
(a|b\1)+
illeszkedik a csupa "a"-ból álló és az "aba", "ababaa" s
- ehhez hasonló sorozatokra. A részminta illesztés minden
+ ehhez hasonló sorozatokra. A részminta illesztés minden
iterációjában a hivatkozás az előző iterációnak megfelelő
karaktersorozatra utal. Azért, hogy ez működjön, a mintának
olyannak kell lennie, hogy az első lépésben nem kelljen a
@@ -2175,7 +2176,7 @@
ize(?!bigyo)
illeszkedik a "ize" minden olyan előfordulására, amit nem a
- "bigyo" követ. Nyilvánvaló, hogy egy hasonló minta
+ "bigyo" követ. Nyilvánvaló, hogy egy hasonló minta
(?!ize)bigyo
@@ -2185,7 +2186,7 @@
"ize", hanem "bigy" (tesztként nem változik a pillanatnyi
illesztési pozició - a fordító). Ahhoz, hogy a kívánt hatást
érjük el a hátratekintő tesztre van szükségünk.
-
+
A hátratekintő tesztek (?<= vagy tagadó feltétel esetén
a (?<! sorozattal kezdődnek, például
@@ -2195,7 +2196,7 @@
A hátratekintő tesztek csak rögzített hosszúságúak lehetnek.
Ha azonban több alternatívát adunk meg a teszten belül,
a különböző ágaknak lehet eltérő a hossza, ilyenformán a
-
+
(?<=tulok|szamár)
megengedett, ellentétben a
@@ -2221,7 +2222,7 @@
ágra a pillanatnyi illesztési pozició átmenetileg hátrébb
kerül az ágtesztnek megfelelő számú karakterrel és ezután
illeszteni próbál. Ha nincs elég karakter a visszalépéshez,
- az illesztés sikertelen lesz. A hátratekintő tesztek az
+ az illesztés sikertelen lesz. A hátratekintő tesztek az
egyszeri részmintákkal együtt különösen hasznosak lehetnek
a szöveg végi illeszkedéseknél, az "Egyszeri részminták" c.
szakasz végén található erre példa.
@@ -2237,7 +2238,7 @@
három karakter számjegy-e és utána azt, hogy ezek nem a
"999"-t adják.Ez a minta nem azokra az "ize"-kre illeszkedik,
amelyek előtt hat karakter áll: három számjegy és másik
- három, ami nem a "999", példaképpen nem illeszkedik a
+ három, ami nem a "999", példaképpen nem illeszkedik a
"123abcize" szövegre. Az a minta, ami ezt tudja a következő:
(?<=\d{3}...)(?<!999)ize
@@ -2246,7 +2247,7 @@
és azt vizsgálja, hogy az első három számjegy-e, ezután a
második feltétel a maradék három karaktert nézi, hogy azok
nem a "999" sorozat. A tesztek egymásba ágyazhatók bármilyen
- komibinációban. Például a
+ komibinációban. Például a
(?<=(?<!ize)bigyo)figyula
@@ -2261,12 +2262,12 @@
A teszt-minták nem "gyűjtő" részminták, és nem ismételhetők,
hiszen nincs sok értelme ugyanazt többször tesztelni.
Ha bármilyen teszt "gyűjtő" részmintát tartalmaz, akkor
- ezek a részminták is beleszámítanak a "gyűjtő" részminták
+ ezek a részminták is beleszámítanak a "gyűjtő" részminták
számozásába, azonban csak pozitív tesztekre lesz végrehajtva
- a megtalált szövegrész "begyűjtése", mert tagadó tesztek
+ a megtalált szövegrész "begyűjtése", mert tagadó tesztek
esetén ennek nincs értelme.
- A tesztek beleszámítanak a zárójelezett részmintákra
+ A tesztek beleszámítanak a zárójelezett részmintákra
vonatkozó 200-as felső korlátba.
@@ -2282,17 +2283,17 @@
illesztés hamarabb elbukjon - mint egyébként -, ha a minta
készítője tudja, hogy nincs értelme folytatni.
- Nézzük a következő példát, ahol a \d+ize mintát a
+ Nézzük a következő példát, ahol a \d+ize mintát a
123456bigyo
- szövegre illesztjük.
+ szövegre illesztjük.
Miután 6 számjeggyel végzett,az illesztés elbukik az "ize"-n.
Ekkor a szokásos lépés, hogy megpróbálja újból 5 majd 4 és
- és így tovább sorjában - eggyel kevesebb számjegyet illeszteni
- a "\d+"-re , amíg végül minden lehetőséget kimerítve
+ a "\d+"-re , amíg végül minden lehetőséget kimerítve
az illesztés elbukik. Az egyszeri részminták azt a lehetőséget
- biztosítják nekünk, hogy ha egyszer a minta egy darabja
+ biztosítják nekünk, hogy ha egyszer a minta egy darabja
illeszkedett, akkor az ne legyen újra és újra kiértékelve a
fenti módon, hanem az illesztés fejeződjön be azonnal, ha az
"ize"-t nem tudja illeszteni mar az első alkalommal. Ennek a
@@ -2303,11 +2304,11 @@
Ez a zárójelféle lezárja a közrefogott részmintát, ha az
egyszer már illeszkedett,és az illesztés későbbi sikertelen
szakaszában megakadályozza, hogy az illesztés visszalépjen
- ebbe a részbe. Emellett azonban az előző elemekre a
- visszalépegetés a szokásos módon történik.
+ ebbe a részbe. Emellett azonban az előző elemekre a
+ visszalépegetés a szokásos módon történik.
- Másfajta leírása, hogy ez a fajta részminta úgy illeszkedik
+ Másfajta leírása, hogy ez a fajta részminta úgy illeszkedik
a szövegre, mint ahogy egy, a pillanatnyi illesztési ponthoz
rögzített, de az eredetivel teljesen megegyező, önálló minta
lenne.
@@ -2319,7 +2320,7 @@
hogy a minta maradék része is illeszkedni tudjon, addig a
(?>\d+) csakis a teljes számjegy sorozatra illeszkedik.
- Ez a szerkezet egymásba ágyazható, és természetesen
+ Ez a szerkezet egymásba ágyazható, és természetesen
tartalmazhat tetszőlegesen bonyolult részmintákat is.
Az egyszeri részminták a hátratekintő tesztekkel közösen
@@ -2328,7 +2329,7 @@
abcd$
- egy hosszú, nem illeszkedő szövegre alkalmazva. Mivel az
+ egy hosszú, nem illeszkedő szövegre alkalmazva. Mivel az
illesztés balról jobbra történik, PCRE a tárgyszöveg minden
"a" betűjét végignézi, és megvizsgálja, hogy onnantól a
minta többi része illeszkedik-e. Ha a mintát így adjuk meg:
@@ -2342,14 +2343,14 @@
utolsó két karakter kivételével, stb. Az "a" megkeresése
mégegyszer lefedi az egész szöveget - most jobbról balról -,
ez sem jobb. Ha azonban a mintát az alábbi alakra hozzuk
-
+
^(?>.*)(?<=abcd)
az eljárás nem tud visszalépni .* elemre, csak az egész
- szövegre tud illeszkedni a minta. A soron következő
+ szövegre tud illeszkedni a minta. A soron következő
hátratekintő teszt pedig az utolsó négy karaktert ellenőrzi.
Ha a teszt sikertelen, akkor az illesztés nyomban elbukik.
- Hosszú szövegek esetén ez a megközelítés jelentős - mérhető
+ Hosszú szövegek esetén ez a megközelítés jelentős - mérhető
- különbséget jelent a feldolgozási időben.
A korlátlan ismétlésű részmintákat tartalmazó mintákban,
@@ -2374,9 +2375,9 @@
és PCRE is rendelkezik egy beépített optimalizálással, amely
lehetővé teszi a sikertelenség korai jelzését, mert
megjegyzik az utolsó illesztendő karaktert és korán
- jeleznek, ha az nincs benne a tárgyszövegben.)
+ jeleznek, ha az nincs benne a tárgyszövegben.)
Ha a mintát a következőképp módosítjuk:
-
+
((?>\D+)|<\d+>)*[!?]
akkor a nem számjegyekből álló sorozatot nem lehet széttörni
@@ -2420,8 +2421,8 @@
azaz ha a tárgyszöveg nyitó zárójellel kezdődött, akkor az
"igen-részminta" érvényre jut, és a bezáró kerek zárójel már
kötelező lesz, egyébként - mivel nincs megadva "nem-minta" -
- semminek nem kell illeszkednie. Magyarán ez a minta az
- elhagyható zárójelek közé fogott zárójeleket nem tartalmazó
+ semminek nem kell illeszkednie. Magyarán ez a minta az
+ elhagyható zárójelek közé fogott zárójeleket nem tartalmazó
karaktersorozatra illeszkedik.
Ha a feltételrészben nem csak számjegyek vannak, akkor annak
@@ -2433,7 +2434,7 @@
(?(?=[^a-z]*[a-z])
\d{2}-[a-z]{3}-\d{2} | \d{2}-\d{2}-\d{2} )
- (Az első sorban a tesztfeltétel,
+ (Az első sorban a tesztfeltétel,
a másodikban a két választható minta.)
A feltétel olyan előretekintő teszt, ami azt vizsgálja, hogy
egy betű előtt elhagyható, nem betűkből álló karaktersorozat
@@ -2467,7 +2468,7 @@
illeszkedő minta problémáját. Rekurzió használata nélkül a
legtöbb, amit tehetünk, hogy rögzített számú egymásba
ágyazhatóságot kezelő mintát használunk. Nem megoldható a
- tetszőleges mélységű egymásbaágyazhatóság.
+ tetszőleges mélységű egymásbaágyazhatóság.
Perl 5.6 kísérleti jelleggel biztosítja a lehetőséget a
reguláris kifejezések rekurzív bejárására (több más mellett).
A különleges (?R) elem jelenti a meghatározott önhivatkozási