Maison > développement back-end > tutoriel php > Comment fonctionne l'expression régulière '[^][]' dans PCRE ?

Comment fonctionne l'expression régulière '[^][]' dans PCRE ?

Barbara Streisand
Libérer: 2024-11-09 03:44:02
original
873 Les gens l'ont consulté

How does the

Comprendre l'expression régulière "[^][]" :

L'expression régulière "[^][]" dans le modèle fourni "[(?:[^][]|(?R))*]" correspond à tous les caractères qui ne sont pas des crochets ([ ou ]).

Explication :

Considérations uniques :

Contrairement aux autres moteurs de regex, PCRE (utilisé dans les fonctions "preg_" de PHP) ne nécessite pas d'échappement [ ou ] dans une classe de caractères. En effet, PCRE les distingue des autres classes de caractères.

De plus, le modèle regex "[^]]" n'est pas ambigu car ] est le premier caractère. Cela signifie qu'il correspond aux caractères suivis d'un ]. Pour faire correspondre un a suivi de ], écrivez 1.

Optimisation du motif :

Pour rendre le motif plus réutilisable et efficace, il peut être optimisé de la manière suivante :

  • ([(?:[^][] |(?-1))* ]) : Ce modèle capture les crochets avec des crochets imbriqués.
  • ([[^][](?:(?-1)[^][])* ]) : Ce modèle est encore plus efficace en éliminant l'alternance.

Variations selon la programmation Langues :

Le modificateur "xx" en ligne, introduit dans PHP 7.3, permet d'ignorer les espaces dans les classes de caractères. Cependant, cette syntaxe n'est pas prise en charge par toutes les versions d'expressions régulières, telles que Ruby et JavaScript. En JavaScript, en particulier, "[]" est un jeton qui ne correspond toujours pas, et "[^]" correspond à n'importe quel caractère.


  1. a]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal