A reguláris kifejezések szintaxisa (posix)
A POSIX szabályos kifejezések szerkezete némileg hasonlít a tipikus matematikai kifejezések szerkezetéhez - a különböző elemek (operátorok) kombinálódnak egymással és összetettebb kifejezéseket alkotnak. Azonban az egyesítő elemek értelme olyan rendszeres kifejezéseket jelent, amelyek ilyen erős és kifejező eszközt jelentenek. Lehetőségek nem korlátozódnak a szó szerinti szöveg megtalálásához (például egy adott szó vagy szám); Különféle szemantikájú sztringeket kereshet, de hasonló szintaxisokat - például a fájl összes HTML-címkéjét.
A legegyszerűbb szabályos kifejezés egy literális szimbólummal egyezik meg - például az "g" kifejezés olyan formában érkezik, mint a g, a haggle és a bag. A több szó szerinti szimbólum kombinálásával kapott kifejezés ugyanazokkal a szabályokkal egyezik meg, például a szekvencia gan minden olyan karakterláncot illeszkedik, amely ezeket a karaktereket tartalmazza (például banda, szervez, vagy Reagan).
A (függőleges sáv) kezelője ellenőrzi az egyik lehetséges alternatíva egyezését. Például a szabályos kifejezés php | zend ellenőrzi a php vagy a zend sorát.
Szögletes zárójelek
A szögletes zárójelek ([]) különös jelentéssel bírnak a szabályos kifejezések összefüggésében - a zárójelben szereplő zárójelben szereplő karaktereket jelenti. A php szabályos kifejezéssel ellentétben, amely egybevág a szöveges php-t tartalmazó összes sorban, a [php] kifejezés a p vagy h szimbólumokat tartalmazó bármely sorban egyezik. A szögletes zárójelek fontos szerepet játszanak a szabályos kifejezésekkel való együttműködésben, mivel a keresési folyamatban gyakran előfordul, hogy egy adott időközön belül megtalálják a karaktereket. Az alábbiakban néhány gyakori időköz:
- [0-9] - megfelel minden decimális számjegynek 0 és 9 között;
- [a-z] - az a-tól z-ig bármilyen kisbetűs karaktert illesz;
- [A-Z] - minden nagybetűvel megegyezik az A-tól Z-ig;
- [a -Z] - a kisbetűs vagy nagybetűs karaktereket illeszti a-tól Z-ig.
Természetesen a fent felsorolt intervallumok csupán általános elveket mutatnak. Például használhatja a [0-3] intervallumot arra, hogy minden decimális számjegyet 0 és 3 között, vagy a [b-v] intervallumot jelöljön, hogy kisbetűs karaktert jelöljön b-től v-ig. Röviden, az intervallumok teljesen önkényesek.
kvantifikátorok
Van egy speciális szolgáltatási szimbólum, amely egyetlen karakter ismétlésének számát vagy szögletes zárójelben lévő szerkezetet jelöli. Ezeket a szolgáltatásszimbólumokat (+, * és) kvantálóknak nevezzük. A cselekvésük elve leginkább példákkal magyarázható:
- p + jelöli egymás után egy vagy több p szimbólumot;
- p * a p szimbólumok közül nulla vagy annál többet jelent;
- p? jelentése nulla vagy egy karakter p;
- p jelentése két szimbólum, egymás után állva;
- p jelentése két-három szimbólum, egymás után állva;
- p jelentése két vagy több p szimbólum egymás után.
Egyéb szolgáltatási szimbólumok
A $ és ^ szimbólum szimbólumok egybeesnek a szimbólumokkal, de bizonyos vonalbeli pozíciókban. Például a p $ kifejezés olyan sztringet jelent, amely a p szimbólummal végződik, és a ^ p kifejezés olyan sztring, amely a p szimbólummal kezdődik.
- Az építés [^ a-zA-Z] egybeesik minden olyan karakterrel, amely nem szerepel a megadott intervallumokban (a-z és A-Z).
- A szerviz szimbólum (pont) jelentése "bármilyen karakter". Például a p.p kifejezés egybeesik a p szimbólummal, amelyet egy tetszőleges szimbólum követ, amelyet a p szimbólum követ.
A szolgáltatásszimbólumok kombinációja összetettebb kifejezések megjelenéséhez vezet. Vegyünk néhány példát:
- ^. $ - minden olyan karakterlánc, amely pontosan két karaktert tartalmaz;
- (. *) - a karakterek tetszőleges sorozata között <Ь> és Ь>(valószínűleg HTML-címkék a félkövér betű megjelenítéséhez);
- p (hp) * a p karakter, amit a hp sorozata (pl. phphphp) nullával és több példányával követ.
Néha a használati szimbólumokat szlogenekben kell találni, ahelyett, hogy azokat a leírt speciális kontextusban használnák. Ehhez a kiszolgáló karakterek el lesznek fordítva (\). Például egy pénzösszeg dollárban történő kereséséhez használhatja a \ $ [0-9] + kifejezést, vagyis egy "dollárjelet, amelyet egy vagy több tizedesjegyet követ". Vegye figyelembe a backslash értéket $ előtt. A rendszeres kifejezéshez tartozó lehetséges egyezések: $ 42, $ 560 és $ 3.
Standard intervallum kifejezések (karakterosztályok)
A programozás kényelmét illetően néhány standard intervallum kifejezést, más néven karakterosztályt definiáltak a POSIX szabványban. A karakterosztály egy karaktert határoz meg egy adott időintervallumból - például egy ábécé betű vagy egy számjegy:
- [[: alpha:]] - az ábécé karakter (aA-zZ);
- [[digit:]] - a számjegy (0-9);
- [[: alnum:]] - az ábécé karakter (aA-zZ) vagy a számjegy (0-9);
- [[: space:]] - mulasztások (újsor, lap, stb.).
Ha nem találtad meg, amit keresett, akkor azt javaslom, hogy használja a keresést a webhelyen: