Maison >développement back-end >Problème PHP >Comment écrire une expression régulière en php

Comment écrire une expression régulière en php

王林
王林original
2019-09-12 17:45:103968parcourir

Comment écrire une expression régulière en php

Les expressions régulières sont une technologie très couramment utilisée et puissante dans le travail, mais elles sont un peu ennuyeuses à apprendre. Aujourd'hui, laissez-moi vous expliquer comment écrire des expressions régulières en PHP ?

Délimiteur

Lors de l'utilisation de la fonction PCRE, le motif doit être entouré d'un délimiteur. Le délimiteur peut être n'importe quel caractère non alphanumérique, sans barre oblique inverse ou sans espace.

Les délimiteurs couramment utilisés sont la barre oblique (/), le symbole dièse (#) et le symbole de négation (~). Les exemples suivants sont tous des modèles utilisant des délimiteurs légaux.

/foo bar/<br>#^[^0-9]$#<br>+php+<br>%[a-zA-Z0-9_-]%

Si un délimiteur doit correspondre dans un motif, il doit être échappé avec une barre oblique inverse. Si les délimiteurs apparaissent fréquemment dans le modèle, une meilleure option consiste à utiliser d’autres délimiteurs pour améliorer la lisibilité.

/http:///<code>/http:///<br>#http://#  #http://#

Lorsque vous avez besoin de mettre une chaîne dans un modèle pour l'utiliser, vous pouvez utiliser preg_quote( ) pour l'échapper, son deuxième paramètre (facultatif) peut être utilisé pour spécifier le délimiteur qui doit être échappé.

En plus des délimiteurs mentionnés ci-dessus, vous pouvez également utiliser des délimiteurs de type crochet. Le support gauche et le support droit servent respectivement de délimiteurs de début et de fin.

{this is a pattern}

peut ajouter des modificateurs de motif après le délimiteur de fermeture. L'exemple suivant est une correspondance insensible à la casse :

#[a-z]#i

<code><span style="font-size: 20px;">转义序列</span>Séquence d'échappement

La barre oblique inverse a de nombreuses utilisations. Premièrement, s’il est suivi d’un caractère non alphanumérique, cela annule la signification particulière représentée par ce caractère. Cette utilisation de la barre oblique inverse comme caractère d'échappement est disponible à la fois à l'intérieur et à l'extérieur des classes de caractères.

Par exemple, si vous souhaitez faire correspondre un caractère "*", vous devez écrire "*" dans le motif. Cela s'applique lorsqu'un personnage aurait une signification particulière sans y échapper. Cependant, pour les caractères non alphanumériques, il est toujours prudent d'ajouter une barre oblique inverse devant eux pour déclarer qu'ils se représentent lorsqu'ils sont nécessaires à la correspondance du texte original. Si vous souhaitez faire correspondre une barre oblique inverse, utilisez "\" dans le modèle.

Par exemple, je veux écrire un point décimal ".", mais le point est un métacaractère (caractère codé avec une signification particulière) Si vous souhaitez représenter le point décimal et ne pas le laisser représenter une signification particulière. , vous devez vous échapper : "." Ou [.]

$lng = 125.97097735211630;<br>$lng = 125.97097735211630;

$pattern = "#^(0|[1-9][0-9]*)[.][0-9]{14}$#"; 

/ /Nombre satisfaisant 14 décimales

preg_match($pattern, $lng)

Barre oblique inverse dans l'expression

Barre oblique inverse dans expression Les barres obliques ont plusieurs significations, telles que l'échappement, la spécification d'un jeu de caractères prédéfini, la définition d'assertions et l'affichage de caractères non imprimables.

Caractères d'échappement

Les caractères d'échappement convertissent principalement certains caractères spéciaux en caractères ordinaires. Ces caractères spéciaux couramment utilisés incluent ".", "?", "", etc.

Spécifier un jeu de caractères prédéfini

Comment écrire une expression régulière en php

###Afficher les caractères non imprimables

Comment écrire une expression régulière en php

Le contenu ci-dessus est à titre de référence seulement !

Tutoriel vidéo recommandé : Tutoriel vidéo 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!

Déclaration:
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