PHP Regexp – modificatori si optiuni

Modificatori:

[abc] Un singur caracter: a, b sau c
[^abc] Un singur caracter cu exceptia a, b, sau c
[a-z] Un singur caracter din intervalul a-z
[a-zA-Z] Un singur caracter din intervalul a-z sau A-Z
^ Inceput de linie
$ Sfarsit de linie
\A Inceput de sir de caractere/text
\z Sfarsit de sir de caractere/text
. Orice caracter
\s Orice caracter de tip whitespace
\S Orice caracter cu exceptia whitespace
\d Orice cifra
\D Orice caracter cu exceptia unei cifre
\w Orice carcater dintr-un cuvant (word): litera, cifra, underscore
\W Orice carcater cu exceptia celor dintr-un cuvant (non-word)
\b Orice caracter care delimiteaza un cuvant
(…) Retine secventa din paranteza
(a|b) a sau b
a? Cel mult o aparitie a lui a
a* Oricate (inclusiv zero) aparitii ale lui a
a+ Una sau mai multe aparitii ale lui a
a{3} Exact 3 aparitii ale lui a
a{3,} 3 sau mai multe aparitii ale lui a
a{3,6} Intre 3 si 6 aparitii ale lui a

Options:
i Nu tine cont de minuscule sau majuscule
m face ca punctul (.) sa includa si caracterul linie-noua
s continua cautarea chiar si dupa caracterul linie-noua
x Ignora caracterele de tip whitespace
o executa substitutiile #{…} o singura data

Sub-patterns

(?:(?!string).) Negarea unui sir de caractere (?: creaza un sub-sablon, iar ?! este o negare a textului care urmeaza

Mai multe informatii:
https://www.php.net/manual/en/reference.pcre.pattern.syntax.php