par
Genova » 09 août 2007, 14:03
Bonjour, pour vérifier si une chaîne correspond exactement à l'expression tu peux utiliser le caractère ^qui délimite le début de l'expression, et $ qui la termine.
Par exemple :
$str1 = '17,458';
$str2 = '17,458 euros';
$str3 = 'Prix : 17,458';
// ^[0-9]+(,[0-9]+)?$ matchera $str1 mais ni $str2 ni $str3
// [0-9]+(,[0-9]+)?$ matchera $str1 et $str3 mais pas $str2
// ^[0-9]+(,[0-9]+)? matchera $str1 et $str2 mais pas $str3
// [0-9]+(,[0-9]+)? matchera les trois
(,[0-9]+)? signifie que ton nombre peut potentiellement prendre une virgule avec des chiffres derrière (donc l'expression matchera aussi les entiers).
Bonjour, pour vérifier si une chaîne correspond exactement à l'expression tu peux utiliser le caractère ^qui délimite le début de l'expression, et $ qui la termine.
Par exemple :
[php]$str1 = '17,458';
$str2 = '17,458 euros';
$str3 = 'Prix : 17,458';
// ^[0-9]+(,[0-9]+)?$ matchera $str1 mais ni $str2 ni $str3
// [0-9]+(,[0-9]+)?$ matchera $str1 et $str3 mais pas $str2
// ^[0-9]+(,[0-9]+)? matchera $str1 et $str2 mais pas $str3
// [0-9]+(,[0-9]+)? matchera les trois[/php]
[b](,[0-9]+)?[/b] signifie que ton nombre peut potentiellement prendre une virgule avec des chiffres derrière (donc l'expression matchera aussi les entiers).