Szabályos kifejezésszintaktikai (POSIX)

A szintaxis a reguláris kifejezések (POSIX)

Structure regex POSIX némileg hasonlít a tipikus szerkezete a matematikai kifejezések - a különböző elemek (operátorok) kombináljuk egymással alkotnak bonyolultabb kifejezéseket. Azonban érdemes kombinálni elemeket reguláris kifejezések egy ilyen erős és kifejező eszköze. Lehetőségek nem korlátozódnak a keresést A szöveg (pl egy adott szó vagy szám); kereshetünk húrok különböző sematikoy de mint szintaxis - például az összes HTML fájlban.

A legegyszerűbb reguláris kifejezés illeszkedik egy rövid szó - például a kifejezés egybeesik g sorokban, mint a g. alkudozni. táska. A kapott expressziós kombinálásával több szó szimbólumok egybeesik az azonos szabályok - például ugyanabban a sorrendben, Gan lyuoy tartalmazó sor szimbólumok (például Gan szervezni.).

üzemeltető | (Függőleges vonal) ellenőrzi, hogy az egyik több alternatíva. Például a reguláris kifejezés php | zend ellenőrzi a húr php vagy zend.

A szögletes zárójelek ([]) különleges jelentéssel bírnak a kontroll a reguláris kifejezések - úgy értem „bármilyen karakter szerepel a zárójelben.” Eltérően a hagyományos kifejezést szó. amely azonos az összes vonal, amely a szó szövegét szó. kifejezés [szó] azonos minden sorban tartalmazó szimbólum w. o. R vagy d. A konzolok fontosak dolgozó reguláris kifejezések, mert a keresési gyakran jelképe a feladat megtalálni egy adott intervallumban. Az alábbiakban felsorolunk néhány általánosan használt tartományok:
  • [0-9] - illeszkedik minden decimális számjegy 0-9;
  • [A-Z] - illeszkedik minden kisbetű-tól Z;
  • [A-Z] - illeszkedik minden karakter nagybetű A-tól Z-ig;
  • [A-Z] - minden karakterre illeszkedik az alsó vagy a felső esetben egy Z-hez;

    Ezek az intervallumok mind bizonyítják azt az általános elvet. Például, használhatja az intervallumot [0-3], hogy bármelyik karakterre 0-3 vagy az intervallum [a-d] elnevezés bármely kisbetűket a-tól d.

    Az intervallumok önkényesen állapítottuk meg.

    Van egy speciális szolgáltatási osztály mutatók, jelezve az ismétlések számát egyetlen szimbólum vagy tervezési, szögletes zárójelek között. Ezek a speciális karaktereket (. * + És felhívta kvantifikátorok. A működési elve leginkább azzal magyarázható, például.

  • S + jelentése egy vagy több karakter egy sorban néző S .;
  • S * azt jelenti, nulla vagy több karakter egy sorban néző S .;
  • S? értéke nulla vagy egy S szimbólum;
  • Ez azt jelenti, két szimbólum S szemben S. sorban;
  • S két évről három egymást követő szimbólumok álló S .;
  • S: olyan két vagy több karakter egy sorban néző S .;

    Egyéb speciális karakterek

    Különleges karakterek ^ és a $ nem esik egybe a karakterek, és egy bizonyos helyzetben a sorban. Például, a kifejezés a S $ egy karakterlánc, ami végződik egy szimbólum és kifejezése S. ^ S - a sort, amely kezdődik a szimbólummal S.

  • Structure [^ a-zA-Z] minden karakterre illeszkedik, amely nem tartozik a meghatározott időközönként (a-z és A-Z).
  • Hívás szimbólum. (Dot): bármilyen karaktert. Például, S. S expresszió egybeesik S. jelet követően egy tetszőleges karaktert, majd újra S. Ötvözi overhead szimbólumok vezet bonyolultabb kifejezéseket. Tekintsük néhány példa:
  • . $ * - bármilyen sztring a két karakter.
  • (. *) - bármilyen karaktersor zárt közötti lt; b> és lt; / b>.
  • p (LE *) - a szimbólum p. amelyet nulla vagy több példányát HP szekvenciát (például, php).

    Néha meg kell találni különleges karaktereket húrok helyett használja őket a leírt speciális kontextusban. Ebből a célból, a kiegészítő karakterek megszökött backslash (\). Például. Például, hogy megtalálják a $ jelet kell használni a kifejezést \ $.

    Normál intervallum kifejezések (karakter osztály)

    A programozás megkönnyítése érdekében egyes szabványos POSIX-style intervallum kifejezések azonosítottak, más néven a karakterosztály (karakter osztály). A karakter osztály definiálja egy szimbólumot a beállított időközönként - például betűvel vagy számmal.
  • [[: Alpha:]] - betűt (aA-zZ);
  • [[: Digit:]] - számjegyű (0-9);
  • [[: Alnum:]] - alfabetikus karakter (aA-zZ) vagy szám (0-9).
  • [[: Space:]] - rések (új sor karaktereket, fülek, stb)

    Kapcsolódó cikkek