Maison  >  Article  >  développement back-end  >  Expression régulière PHP : Comment extraire une sous-chaîne de départ spécifique d'une chaîne

Expression régulière PHP : Comment extraire une sous-chaîne de départ spécifique d'une chaîne

王林
王林original
2023-06-22 09:05:591472parcourir

Dans le développement PHP, il est souvent nécessaire d'extraire des sous-chaînes avec un début spécifique à partir d'une chaîne, ce qui peut être réalisé via des expressions régulières. Les expressions régulières sont un outil puissant pour rechercher du texte qui correspond à un modèle spécifique.

Cet article expliquera comment utiliser les expressions régulières PHP pour extraire des sous-chaînes en commençant par une sous-chaîne spécifique.

  1. Expression régulière simple

Tout d'abord, regardons une expression régulière simple pour extraire des chaînes commençant par "abc":

$pattern = '/^abc.*/';
$str = "abcdefg";

if (preg_match($pattern, $str, $matches)) {
    echo $matches[0];
}

Dans le code ci-dessus, l'expression régulière "/^abc. /" est utilisée pour correspondre chaînes commençant par "abc". Parmi eux, "^" signifie correspondre à la position de départ de la chaîne, "." signifie correspondre à n'importe quel caractère et "" signifie correspondre au caractère précédent zéro ou plusieurs fois. Par conséquent, cette expression régulière correspondra à n’importe quelle chaîne de longueur commençant par « abc ».

Dans la fonction preg_match(), le premier paramètre est l'expression régulière, le deuxième paramètre est la chaîne à mettre en correspondance et le troisième paramètre est le tableau des résultats correspondants, où $matches[0] représente la chaîne de caractères correspondante. Parce que nous n'avons besoin de faire correspondre qu'une seule sous-chaîne, la fonction preg_match() est utilisée à la place de la fonction preg_match_all().

Le code ci-dessus affichera "abcdefg" car "abcdefg" contient des sous-chaînes commençant par "abc". Si la chaîne à rechercher ne commence pas par "abc", le code ci-dessus renverra une chaîne vide.

  1. Expressions régulières avec paramètres

Dans les applications pratiques, nous pouvons avoir besoin d'extraire une sous-chaîne de départ spécifique d'une chaîne et de spécifier certains paramètres pour contrôler les règles de correspondance. Par exemple, nous pourrions souhaiter uniquement faire correspondre les chaînes commençant par une lettre majuscule « A » ou une lettre minuscule « a ».

Ce qui suit est une expression régulière avec des paramètres pour faire correspondre les chaînes commençant par "A" ou "a" :

$pattern = '/^[Aa].*/';
$str = "apple";

if (preg_match($pattern, $str, $matches)) {
    echo $matches[0];
}

Dans le code ci-dessus, l'expression régulière "/^[Aa].*/" est utilisée. Correspond aux chaînes commençant par "Un" ou "un". Où "[Aa]" signifie correspondre aux caractères "A" ou "a", donc cette expression régulière correspondra à n'importe quelle chaîne de longueur commençant par "A" ou "a".

Le code ci-dessus affichera « pomme » car « pomme » commence par la lettre minuscule « a ». Si la chaîne à rechercher ne commence pas par « A » ou « a », le code ci-dessus renverra une chaîne vide.

  1. Expressions régulières contenant plusieurs débuts possibles

Si nous devons faire correspondre des sous-chaînes avec plusieurs débuts possibles, nous pouvons utiliser l'opérateur "|" des expressions régulières, qui représente un OU logique. Par exemple, nous pourrions avoir besoin de faire correspondre des chaînes commençant par « abc », « def » ou « ghi ».

Ce qui suit est une expression régulière avec plusieurs débuts possibles, utilisée pour faire correspondre les chaînes commençant par "abc", "def" ou "ghi" :

$pattern = '/^(abc|def|ghi).*/';
$str = "ghijklmnop";

if (preg_match($pattern, $str, $matches)) {
    echo $matches[0];
}

Dans le code ci-dessus, l'expression régulière "/^( abc|def| ghi).*/" est utilisé pour correspondre à n'importe quelle chaîne de longueur commençant par "abc", "def" ou "ghi". L'opérateur "|" représente un OU logique, donc cette expression régulière correspondra à n'importe quelle chaîne de longueur commençant par "abc", "def" ou "ghi".

Le code ci-dessus affichera « ghijklmnop » car il commence par « ghi ». Si la chaîne à rechercher ne commence pas par « abc », « def » ou « ghi », le code ci-dessus renverra une chaîne vide.

Conclusion

Cet article explique comment utiliser les expressions régulières PHP pour extraire des sous-chaînes commençant par une sous-chaîne spécifique. Nous avons appris à écrire des expressions régulières simples et des expressions régulières avec des paramètres, et à gérer les cas où il existe plusieurs démarrages possibles. L'utilisation d'expressions régulières peut extraire efficacement les sous-chaînes requises des chaînes, fournissant ainsi un outil puissant pour le développement de programmes.

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