Cet article présente principalement l'analyse graphique du mode multi-ligne et du mode monoligne de expression régulière Les amis qui en ont besoin peuvent se référer à
Dans Expresso, testez le "multi". -line mode" ”
Test 1
Remarque : Il n'y a pas de retour chariot après 3eeeee dans l'exemple de texte ici, et le curseur est juste après e. Le résultat correspondant est 3eeeee, comme indiqué dans la zone Résultats de recherche ci-dessus.
Pourquoi 1abcde et 2abc ne peuvent-ils pas correspondre ici ?
Activer le mode multi-lignes
^ peut correspondre au début de la chaîne (la position de départ de la chaîne) ou au début de la ligne (c'est-à-dire la position après le caractère de nouvelle ligne n)
$ peut correspondre à la fin de la chaîne (la position de fin de la chaîne) ou à la fin de la ligne (c'est-à-dire la position avant le caractère de nouvelle ligne n)
Fermer plusieurs Le motif de ligne
^ ne peut correspondre qu'au début de la chaîne
$ et ne peut correspondre qu'à la fin de la chaîne
Points de connaissance : r est le caractère de retour chariot et n est le caractère de saut de ligne. Sous Windows, ce que nous appelons habituellement le saut de ligne est essentiellement un retour chariot, puis un saut de ligne. Vous trouverez une explication plus détaillée ci-dessous.
Comme le montre l'image ci-dessus : r correspond à [CR], n correspond à [LF] <—— CR est un retour chariot LF est un saut de ligne
Plusieurs paragraphes de chaîne, par exemple,
ab
cd
e
dans le système d'exploitation Windows est en fait : ab[CR][LF]cd[CR][LF]e
dans Windows, le retour chariot et le saut de ligne dans le texte sont stockés sous la forme : 0D 0A. En d'autres termes, ce qui est stocké en premier est "retour chariot r"
CR est représenté par le symbole 'r', le code ASCII est 13, hexadécimal est 0x0D;
LF est représenté par le symbole 'n', le code ASCII est 10, l'hexadécimal est 0x0A
Expression régulière : (?m)^(dw+)(s*)$
Exemple de texte
Résultats correspondants
Activer le mode multi-ligne dans Expresso, PHP, correspondances "$" la fin de la chaîne ou la position avant "n".
Mode sur une seule ligne
Activer le mode sur une seule ligne : . Peut correspondre à n'importe quel caractère (y compris les caractères de nouvelle ligne)
Fermer le mode sur une seule ligne : . caractères non-nouvelle ligne AutreTous les caractères (. peut correspondre à r, c'est-à-dire tous les caractères sauf n.)
Le mode multiligne affecte la correspondance de ^ et $
Single- le mode ligne affecte la correspondance de .
Le mode multiligne doit contenir ^ ou $ ou les deux, sinon même si m est ajouté, cela n'aura aucun sens
Mode monoligne et mode multiligne sont deux concepts qui ne peuvent pas être battus avec huit bâtons, simplement parce que les raisons historiques du développement des expressions régulières ont créé de tels deux concepts mutuellement exclusifs de MS
Le mode sur une seule ligne affecte la plage de correspondance du point décimal "."
Le mode multi-ligne affecte la plage de correspondance de "^" et "$"
En ce qui concerne les concepts suivants, il n'y a pas de lien nécessaire entre la correspondance globale, le mode multi-ligne et le mode gourmand
.La correspondance globale est désactivée et seule la première correspondance réussie est activée. La correspondance globale est activée, correspondance Toutes les correspondances réussies
Le mode global est un concept que l'on ne trouve que dans certains langages de script
Lors de la correspondance, désactivez-la. le mode global, similaire à la méthode Match dans .NET, et activez le mode global, similaire aux Matches dans .NET. La méthode
désactive le mode global lors du remplacement, similaire à replaceFirst en Java, et active le mode global mode, similaire à replaceAll
en Java (lors de la correspondance, désactive le mode global, similaire à la fonction PHP preg_ match ; active le mode global, similaire à la fonction preg_ match_ all en PHP)
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!