Pratique des expressions régulières PHP : correspondance des caractères de nouvelle ligne
L'expression régulière est un outil de correspondance de modèles de texte extrêmement puissant, qui peut décrire les règles de correspondance du texte via certains caractères et opérateurs spéciaux. En PHP, les expressions régulières sont très faciles à utiliser. PHP possède une bibliothèque PCRE (expression régulière compatible Perl) intégrée qui fournit une multitude de fonctions d'opération d'expression régulière.
Mais dans les applications pratiques, il existe parfois des cas particuliers, comme la correspondance de texte contenant des nouvelles lignes. Dans ce cas, nous devons gérer les nouvelles lignes spécialement pour correspondre correctement à ce dont nous avons besoin. Cet article vous montrera comment utiliser des expressions régulières en PHP pour faire correspondre le texte contenant des nouvelles lignes.
1. Les sauts de ligne dans les expressions régulières
Dans les expressions régulières, les sauts de ligne sont généralement représentés par
. Par exemple, pour faire correspondre une chaîne contenant bonjour dans une ligne de texte, vous pouvez utiliser l'expression régulière suivante :
/.*hello.*/i
Parmi elles, .* signifie faire correspondre n'importe quel caractère un certain nombre de fois, et i signifie ne pas être sensible à la casse.
Cependant, cette simple expression régulière ne fonctionnera pas correctement si le texte à faire correspondre contient des nouvelles lignes. Par exemple, pour faire correspondre la chaîne hello dans le texte suivant :
this is a hello world
L'utilisation de l'expression régulière ci-dessus échouera car elle ne peut correspondre qu'à une seule ligne de texte et ne peut pas correspondre à plusieurs lignes.
2. Utilisez le modificateur s pour faire correspondre les nouvelles lignes
Pour faire correspondre correctement le texte contenant des nouvelles lignes en PHP, vous pouvez utiliser le modificateur s. Le modificateur s permet au point (.) de correspondre à n'importe quel caractère, y compris les nouvelles lignes. Par exemple, l'expression régulière suivante peut correspondre à la chaîne hello dans l'exemple ci-dessus :
/.*hello.*/is
où le modificateur s est ajouté après l'expression régulière pour permettre au point de correspondre à n'importe quel caractère, y compris les nouvelles lignes. De cette façon, le point peut correspondre à tous les caractères du texte, même si la chaîne s'étend sur plusieurs lignes.
Il convient de noter que le modificateur s affectera les règles de correspondance de l'ensemble de l'expression régulière, il doit donc être utilisé avec prudence.
3. Utilisez [sS] pour faire correspondre les caractères de nouvelle ligne
En plus d'utiliser le modificateur s, vous pouvez également utiliser [sS] pour faire correspondre n'importe quel caractère, y compris les caractères de nouvelle ligne. Parmi eux, s représente les caractères d'espacement (espace, tabulation, nouvelle ligne, etc.) et S représente les caractères non-espaces. Par conséquent, [sS] signifie correspondre à tous les caractères, y compris les nouvelles lignes. Par exemple, l'expression régulière suivante peut également correspondre à la chaîne hello dans l'exemple ci-dessus :
/.*hello[sS]*/i
L'avantage d'utiliser [sS] pour faire correspondre les nouvelles lignes est qu'il n'est pas nécessaire d'ajouter des modificateurs après l'expression régulière, et elle peut être utilisée si nécessaire, insérez des caractères de nouvelle ligne pour plus de commodité.
4. Utiliser des classes de caractères prédéfinies d'expression régulière
En plus d'utiliser le modificateur s et [sS], vous pouvez également utiliser des classes de caractères prédéfinies d'expression régulière pour faire correspondre les nouvelles lignes. Parmi eux, R signifie faire correspondre n'importe quel caractère de nouvelle ligne, y compris
,
, etc. Par exemple, l'expression régulière suivante peut également correspondre à la chaîne hello dans l'exemple ci-dessus :
/.*hello.*R/i
Où, R signifie correspondre à n'importe quel caractère de nouvelle ligne, de sorte que même si la chaîne s'étend sur plusieurs lignes, l'expression régulière peut correspondre correctement.
Notez que R a été introduit dans PHP 5.2.4 et ne fonctionnera pas si votre version de PHP est inférieure à celle-ci.
5. Conclusion
L'utilisation d'expressions régulières pour faire correspondre du texte contenant des nouvelles lignes est un problème souvent rencontré dans le développement PHP. Une correspondance correcte peut être obtenue en utilisant le modificateur s, [sS] et R. Vous pouvez choisir la méthode à utiliser en fonction de vos propres habitudes et besoins. Lorsque vous utilisez des expressions régulières, vous pouvez également vous référer au manuel des fonctions PHP PCRE pour en savoir plus sur les fonctions d'opération d'expression régulière couramment utilisées et comment les utiliser.
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!