Comment puis-je faire correspondre les caractères de nouvelle ligne dans PHP Regex sans utiliser [\\r\\n] ?

Barbara Streisand
Libérer: 2024-11-03 19:00:04
original
583 Les gens l'ont consulté

How Can I Match Newline Characters in PHP Regex Without Using [\r\n]?

Correspondance des caractères de nouvelle ligne dans PHP Regex sans [rn]

En PHP, l'expression régulière [rn] est couramment utilisée pour faire correspondre les retours chariot (r) ou les sauts de ligne ( n). Cependant, que se passe-t-il si vous souhaitez faire correspondre ces caractères sans utiliser ce modèle spécifique ?

Séquence d'échappement de nouvelle ligne Unicode : R

PCRE introduit la séquence d'échappement R, qui par défaut correspond aux séquences de nouvelle ligne Unicode. Ceux-ci incluent :

  • rn (CRLF)
  • n (LF)
  • r (CR)
  • f (Fil de formulaire)
  • x0b (onglet vertical)
  • x85 (ligne suivante)

Exemple :

<code class="php">$string = "
Test
";

if (preg_match('~\R~', $string)) {
  echo "Matched";
} else {
  echo "Not Matched";
}</code>
Copier après la connexion

Nouvelle ligne Unicode Séquence d'échappement avec l'indicateur « u » :

Pour faire correspondre les caractères de nouvelle ligne en dehors de la plage ASCII, activez l'indicateur « u » (unicode) :

<code class="php">preg_match('~\R~u', $string);</code>
Copier après la connexion

Restriction de R en CR, LF ou CRLF :

Si vous souhaitez uniquement faire correspondre les retours chariot, les sauts de ligne ou les deux, utilisez le modèle suivant :

<code class="php">preg_match('~(*BSR_ANYCRLF)\R~', $string);</code>
Copier après la connexion

Conventions supplémentaires pour les caractères de nouvelle ligne :

PCRE prend également en charge diverses conventions pour indiquer les caractères de nouvelle ligne :

  • (*CR) - Retour chariot
  • (*LF) - Saut de ligne
  • (*CRLF) - Retour chariot, suivi d'un saut de ligne
  • (*ANYCRLF) - L'un des trois ci-dessus
  • (*ANY) - Toutes les séquences de nouvelle ligne Unicode

Remarque : R n'a pas de signification particulière dans une classe de caractères et agit plutôt comme le caractère littéral "R."

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!