Maison  >  Article  >  développement back-end  >  Syntaxe détaillée des expressions régulières PHP

Syntaxe détaillée des expressions régulières PHP

小云云
小云云original
2017-11-10 16:39:432025parcourir

L'expression régulière PHP fait référence à une chaîne unique utilisée pour décrire ou faire correspondre une série de chaînes conformes à une certaine règle de syntaxe.
L'expression régulière est une formule logique pour les opérations sur les chaînes. Elle utilise des caractères spécifiques prédéfinis et des combinaisons de ces caractères spécifiques pour former une "chaîne de règles". Cette "chaîne de règles" est utilisée pour exprimer une logique de filtrage des chaînes.

Étant donné une expression régulière et une autre chaîne, nous pouvons atteindre les objectifs suivants :

1. Si la chaîne donnée est conforme à la logique de filtrage de l'expression régulière (appelée " Match » ); 🎜>
2. Nous pouvons obtenir la partie spécifique que nous voulons de la chaîne via des expressions régulières.

Une expression régulière est un modèle de texte composé de caractères ordinaires (tels que les caractères de a à z) et de caractères spéciaux (appelés métacaractères). Le modèle décrit une ou plusieurs chaînes à rechercher lors de la recherche de corps de texte. Une expression régulière agit comme un modèle qui fait correspondre un modèle de caractères avec une chaîne recherchée.

Citation


/ 


Marquez le caractère suivant comme un caractère spécial, ou un caractère littéral, ou une référence arrière, ou un caractère d'échappement octal. Par exemple, « n » correspond au caractère « n ». '/n' correspond à un caractère de nouvelle ligne. La séquence '//' correspond à "/" et "/(" correspond à "(".

^ 


correspond au début de la chaîne d'entrée.

$


correspond à la fin de la chaîne d'entrée

*


correspond à la sous-expression précédente zéro ou plusieurs fois. Peut correspondre à "z" et "zoo". ". * Équivalent à {0,}.

+ 

correspond à la sous-expression précédente une ou plusieurs fois. Par exemple, 'zo+' peut correspondre. "zo" et "zoo", mais pas "z". + Équivalent à {1,}  

?


correspond à la sous-expression précédente zéro ou une fois . "do" dans "do" ou "does". Équivalent à {0,1} 

n est un entier non négatif Correspond au moins n fois. 2,}' ne peut pas correspondre à 'o' dans "Bob", mais il peut correspondre à tous les 'o{ dans "foooood". 1,}' est équivalent à 'o+'. 'o{0,}' est équivalent à 'o. *'. 

{n,m} 

m et n sont des entiers non négatifs, où n

 ? {n}, {n,}, {n,m}), le mode de correspondance est non gourmand Le mode non gourmand correspond le moins possible à la chaîne recherchée, tandis que le mode gourmand par défaut correspond le moins possible Plus de correspondances. la chaîne recherchée. Par exemple, pour la chaîne "oooo", "o+?" correspondra à un seul "o", tandis que "o+" correspondra à tous les "o" sauf "/. N'importe quel caractère sauf n". incluant '/n', utilisez un modèle comme '[./n]'

(motif)

Correspond au modèle et obtient la correspondance obtenue. peut être obtenu à partir de la collection Matches générée. Dans VBScript, utilisez la collection SubMatches. Dans Visual Basic Scripting Edition, utilisez l'attribut $0…$9 pour faire correspondre les caractères, veuillez utiliser '/(' ou '/)'. >

(?:pattern)

Correspond au modèle mais n'obtient pas le résultat correspondant, ce qui signifie qu'il s'agit d'une correspondance non obtenue. Stockez pour une utilisation ultérieure. Ceci est utile lorsque vous utilisez le caractère « ou » (|) pour combiner des parties d'un motif. Par exemple, « industr(?:y|ies) est une expression plus courte que « industry|industries ».

(?=motif)

Recherche directe, faisant correspondre la chaîne de recherche au début de tout modèle de correspondance de chaîne. Il s'agit d'une correspondance sans récupération, c'est-à-dire qu'il n'est pas nécessaire de récupérer la correspondance pour une utilisation ultérieure. Par exemple, « Windows (?=95|98|NT|2000) » correspond à « Windows » dans « Windows 2000 » mais pas à « Windows » dans « Windows 3.1 ». La prélecture ne consomme pas de caractères, c'est-à-dire qu'après une correspondance, la recherche de la correspondance suivante commence immédiatement après la dernière correspondance, plutôt qu'après le caractère contenant la prélecture.

(?!motif)

L'anticipation négative correspond à la chaîne de recherche au début de toute chaîne qui ne correspond pas au modèle. L'anticipation négative correspond à la chaîne de recherche à tout moment où une chaîne ne correspond pas au modèle. Il s'agit d'une correspondance sans récupération, c'est-à-dire qu'il n'est pas nécessaire de récupérer la correspondance pour une utilisation ultérieure. Par exemple, « Windows (?!95|98|NT|2000) » correspond à « Windows » dans « Windows 3.1 », mais pas à « Windows » dans « Windows 2000 ». La prélecture ne consomme pas de caractères, c'est-à-dire qu'après une correspondance, la recherche de la correspondance suivante commence immédiatement après la dernière correspondance, plutôt que de commencer après le caractère contenant la prélecture

Résumé :

Voici quelques explications détaillées de la syntaxe des expressions régulières PHP. En même temps, nous savons que les caractéristiques des expressions régulières sont :

1. Très flexibles, logiques et fonctionnelles

2. Peut réaliser rapidement et facilement des contrôles complexes d'expression de chaîne.

3. C'est relativement obscur pour ceux qui sont nouveaux dans ce domaine.

Recommandations associées :

Application des expressions régulières

Quels sont les modificateurs dans les expressions régulières PHP

Tutoriel sur les expressions régulières php : expressions régulières du débutant au compétent

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