Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
php:expressions_regulieres [2020/05/26 05:01] marclebrun |
php:expressions_regulieres [2020/05/26 05:49] (Version actuelle) marclebrun |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
Liens : | Liens : | ||
* [[https://www.regexpal.com/|Regex Tester]] | * [[https://www.regexpal.com/|Regex Tester]] | ||
- | * [[https://regex101.com/|Online regex tester and debugger]] | + | * [[https://regex101.com/|Online regex tester and debugger]] => Avec générateur de code en PHP et autres :-) |
- | * Avec générateur de code dans différents langages (dont PHP) :-) | + | |
+ | <code php> | ||
+ | $str = 'Bonjour, "Marc". [49 cm]'; | ||
+ | $re = '/^(\S+), "(\S+)". \[(\S+) cm\]$/m'; | ||
+ | |||
+ | preg_match($re, $str, $matches, PREG_OFFSET_CAPTURE, 0); | ||
+ | |||
+ | print_r($matches); | ||
+ | </code> | ||
+ | |||
+ | Array | ||
+ | ( | ||
+ | [0] => Array | ||
+ | ( | ||
+ | [0] => Bonjour, "Marc". [49 cm] | ||
+ | [1] => 0 | ||
+ | ) | ||
+ | [1] => Array | ||
+ | ( | ||
+ | [0] => Bonjour | ||
+ | [1] => 0 | ||
+ | ) | ||
+ | [2] => Array | ||
+ | ( | ||
+ | [0] => Marc | ||
+ | [1] => 10 | ||
+ | ) | ||
+ | [3] => Array | ||
+ | ( | ||
+ | [0] => 49 | ||
+ | [1] => 18 | ||
+ | ) | ||
+ | ) | ||
+ | |||
+ | Le premier élément du tableau est une copie de la chaîne d'origine. | ||
+ | |||
+ | Chaque élément du tableau est un tableau de deux éléments : | ||
+ | * [0] : valeur de l'élément | ||
+ | * [1] : position de l'élément dans la chaîne | ||
+ | |||
+ | <code php> | ||
+ | print($matches[0][0]); // même chose que print $str | ||
+ | print($matches[1][0]); // Bonjour | ||
+ | print($matches[2][0]); // Marc | ||
+ | print($matches[3][0]); // 49 | ||
+ | </code> | ||