Maison >développement back-end >tutoriel php >Comment convertir des expressions régulières POSIX en PCRE en PHP ?

Comment convertir des expressions régulières POSIX en PCRE en PHP ?

DDD
DDDoriginal
2024-12-30 01:58:08499parcourir

How Do I Convert POSIX Regular Expressions to PCRE in PHP?

Conversion des expressions régulières POSIX en PCRE (preg) en PHP

Depuis que les expressions régulières POSIX (ereg) sont obsolètes en PHP depuis la version 5.3. 0, la migration vers les expressions régulières compatibles Perl (PCRE) est essentielle. Voici un guide pour convertir vos anciennes expressions en homologues compatibles preg :

Délimiteurs :

Le changement le plus important est l'introduction de délimiteurs, qui entourent l'expression régulière. Ils peuvent être ~, /, # ou des parenthèses : [], () ou {}.

Caractères d'échappement :

Si le délimiteur choisi est présent dans l'expression, échappez-la avec une barre oblique inverse (). Utilisez preg_quote pour échapper à tous les délimiteurs et caractères réservés.

Modificateur de sensibilité à la casse :

PCRE introduit le modificateur « i » pour une correspondance insensible à la casse, similaire à eregi.

Correspondances simples :

Dans les cas comme votre exemple (ereg('^hello world')), un simple strpos suffirait :

stripos($str, 'hello world') === 0

Exemple de conversion :

eregi('^hello world'); // POSIX expression

// PCRE conversion with delimiters and case-insensitive modifier
preg_match('/^hello world/i', $str);

Ressources supplémentaires :

  • Manuel PHP - Syntaxe PCRE : https://www.php.net/manual/en/reference.pcre.pattern.syntax.php
  • Différences entre POSIX Regexp et PCRE : https://www.php.net/manual/en/ référence.pcre.pattern.posix.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