Maison > développement back-end > tutoriel php > Comment puis-je convertir facilement mes expressions régulières PHP ereg en PCRE ?

Comment puis-je convertir facilement mes expressions régulières PHP ereg en PCRE ?

Patricia Arquette
Libérer: 2025-01-03 21:53:42
original
639 Les gens l'ont consulté

How Can I Easily Convert My PHP ereg Regular Expressions to PCRE?

Conversion d'expressions PCRE avec PHP

Les expressions régulières POSIX (ereg) ne sont plus recommandées dans PHP 5.3.0 et versions ultérieures. Cet article fournit un moyen simple de convertir d'anciennes expressions ereg en expressions régulières compatibles Perl (PCRE ou preg), qui sont toujours prises en charge.

Changements de syntaxe

La principale différence à noter est l'ajout de délimiteurs dans preg. Ils empêchent les collisions avec les caractères de l'expression. Les délimiteurs courants incluent ~, / et #.

Délimiteurs d'échappement

Si le délimiteur apparaît dans l'expression, il doit être échappé. Par exemple, une expression qui contient une barre oblique nécessite un échappement :

preg_match('/^\/hello/', $str);
Copier après la connexion

Utilisation de preg_quote

Pour garantir que les caractères d'échappement sont correctement ajoutés, utilisez la fonction preg_quote. Il échappe à tous les délimiteurs et caractères réservés :

$expr = preg_quote('/hello', '/');
preg_match('/^'.$expr.'/', $str);
Copier après la connexion

Insensibilité à la casse

Le modificateur i fournit une correspondance insensible à la casse comme eregi :

preg_match('/^hello/i', 'HELLO');
Copier après la connexion

Guide de référence

Pour une référence complète sur PCRE syntaxe en PHP, consultez le manuel officiel. De plus, le manuel comprend une ventilation des différences entre les expressions régulières POSIX et PCRE, facilitant le processus de conversion.

Alternative plus simple pour les expressions simples

Dans l'exemple fourni ( correspondant à « hello world » au début d'une chaîne), une expression régulière peut être inutile :

stripos($str, 'hello world') === 0
Copier après la connexion

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