Délimiteurs

Lors de l'utilisation des fonctions PCRE, il est nécessaire que le motif soit encadré par des délimiteurs. Un délimiteur peut être n'importe quel caractère non alpha-numérique autre qu'un backslash ou qu'un espace.

Les délimiteurs les plus courants sont les slashes (/), dièses (#) et les tildes (~). Les exemples suivants ont tous des motifs encadrés avec des délimiteurs valides.

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

Si le délimiteur doit être décrit dans le motif, il doit être échappé avec un backslash. Si le délimiteur apparait souvent dans le motif, choisir un autre délimiteur est une bonne idée pour en augmenter la lisibilité.

/http:\/\//
#http://#
La fonction preg_quote() peut être utilisée pour échapper une chaine et l'utiliser dans un motif. Son second paramètre optionnel sert à spécifier le délimiteur qui doit être échappé.

En complément des délimiteurs cités ci-dessus, il est aussi possible d'utiliser des accolades comme délimiteur où les accolades ouvrante et fermante sont respectivement les délimiteurs ouvrant et fermant.

{ceci est un motif}

Vous pouvez aussi utiliser des modificateurs de motif après le délimiteur final. L'exemple suivant montre une correspondance insensible à la casse.

#[a-z]#i

add a note add a note

User Contributed Notes 2 notes

up
-1
Yousef Ismaeil Cliprz
3 months ago
You can use (`)

<?php

$str
= 'php';

if (
preg_match('`^php$`i',$str)) {
// Outputs
}

?>
up
-24
Anonymous
2 years ago
other possible delimiters include @,!, <>

using symbols (such as | ) that have meaning inside a regex as delimiters is probably going to be counterproductive.
To Top