Cette fois, je vais vous apporter des explications graphiques et textuelles détaillées sur l'utilisation du mode multiligne régulier et du mode monoligne. Quelles sont les précautions lors de l'utilisation du mode multiligne régulier et du mode monoligne. Ce qui suit est un cas pratique. Jetons un coup d'œil.
Dans Expresso, testez le "mode multiligne"
Test 1
Remarque : Voici un exemple Là il n'y a pas de retour chariot après 3eeeeee dans le texte, 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
dans Expresso, PHP In, multi- le mode ligne est activé, "$" correspond à 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 à PHP La fonction preg_ match ; active le mode global, similaire à la fonction preg_ match_ all en PHP)
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des choses plus passionnantes, veuillez faire attention au site Web chinois php Autres articles connexes !
Lecture recommandée :
Explication détaillée de l'utilisation des assertions PHP régulières de largeur nulle
Comment implémenter la fonction de correspondance floue des expressions régulières
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!