sintaxa expresie regulată (POSIX)

Sintaxa expresiilor regulate (POSIX)

Structura regex POSIX este oarecum similar cu structura tipică a expresiilor matematice - diversele elemente (operatori) sunt combinate între ele pentru a forma expresii mai complexe. Cu toate acestea, este logic să combine elemente expresii regulate astfel un mijloc puternic și expresiv. Oportunitati nu sunt limitate la căutarea de text literal (de ex, un cuvânt sau un număr specific); puteți căuta șiruri cu diferite sematikoy dar, ca și sintaxa - de exemplu, toate etichetele HTML din fișier.

Cea mai simplă expresie regulată se potrivește cu un scurt literal - de exemplu, expresia g coincide în rânduri, cum ar fi g. certa. sac. Expresia obținută prin combinarea mai multor simboluri literale coincide cu aceleași reguli - de exemplu, în aceeași linie lyuoy secvență gan conținând simboluri (de exemplu, gan organiza.).

operatorul | (Bara verticală) verifică dacă una dintre mai multe alternative. De exemplu, php expresie regulată | Zend verifică un șir de php sau Zend.

Parantezele pătrate ([]) au o semnificație specială în controlul expresiilor regulate - ele înseamnă „orice caracter enumerate în paranteze.“ Spre deosebire de cuvânt expresie regulată. care este aceeași în toate liniile care conțin textul literal al cuvântului. expresie [cuvânt] aceeași în orice rând care conține simbolul w. o. r sau d. Parantezele sunt importante pentru lucrul cu expresii regulate, deoarece căutarea este adesea un simbol al sarcinii de a găsi un interval dat. Mai jos sunt listate câteva intervale utilizate în mod obișnuit:
  • [0-9] - se potrivește cu orice cifră zecimală la 0 la 9;
  • [A-z] - se potrivește cu orice literă mică de la a la z;
  • [A-Z] - se potrivește cu orice caracter majuscule de la A la Z;
  • [A-Z] - se potrivește cu orice caracter a carcasei inferioare sau superioare de la A la Z;

    Aceste intervale sunt toate demonstrează principiul general. De exemplu, puteți utiliza intervalul [0-3] pentru a descrie orice caracter la 0 la 3 sau intervalul [a-d] pentru a desemna orice caractere minuscule de la a la d.

    Intervalele sunt determinate în mod arbitrar.

    Există o clasă specială de indicatori de servicii, indicând numărul de repetiții ale unui singur simbol sau desen, închis între paranteze drepte. Aceste caractere speciale (. + * Și numit cuantificatori. Principiul de funcționare este cel mai bine explicată prin exemplu.

  • S + este una sau mai multe caractere într-un S cu care se confruntă rând .;
  • S * înseamnă zero sau mai multe caractere într-un S cu care se confruntă rând .;
  • S? este zero sau un simbol S;
  • Aceasta înseamnă că două simboluri S care se confruntă S. rând;
  • S este de la două până la trei simboluri consecutive S în picioare .;
  • S înseamnă două sau mai multe caractere într-un S cu care se confruntă rând .;

    Alte caractere speciale

    Caractere speciale ^ și $ nu coincid cu personajele, și într-o anumită poziție în linie. De exemplu, expresia S $ este un șir care se termină cu un simbol și expresia S. ^ S - linia care începe cu simbolul S.

  • Structura [^ a-zA-Z] se potrivește cu orice caracter care nu se încadrează în intervalele specificate (a-z și A-Z).
  • Simbolul de apel. (Dot) înseamnă orice caracter. De exemplu, exprimarea coincide cu simbolul S, S S. urmat de un caracter arbitrar, urmat din nou S. Combinând simboluri deasupra capului conduce la o expresii mai complicate. Luați în considerare câteva exemple:
  • . $ * - orice șir ce conține cele două personaje.
  • (. *) - orice secvență de caractere incluse între lt; b> și lt; / b>.
  • p (cp *) - simbolul p. urmat de zero sau mai multe cazuri de secvență CP (de exemplu, php).

    Uneori, trebuie să găsiți caractere speciale în șiruri, în loc de a le utiliza în contextul special descris. În acest scop, personajele auxiliare au scăpat backslash (\). De exemplu. De exemplu, pentru a găsi simbolul $ este necesar să se folosească expresia \ $.

    expresii interval standard (clase de caractere)

    Pentru ușurința de programare, în unele POSIX-stil standard, au fost identificate expresii interval, de asemenea, menționată ca un caracter de clasă (clase de caractere). O clasă de caractere definește un simbol din intervalul setat - de exemplu, literele alfabetului sau numărul.
  • [[Alpha:]] - caracter alfabetic (aA-zZ);
  • [[: Digit:]] - cifre (0-9);
  • [[: Alnum:]] - caracter alfabetic (aA-zZ) sau un număr (0-9).
  • [[: Space:]] - lacune (caractere newline, tab-uri, etc.)

    articole similare