Petit problème de regexp - PHP - Programmation
Marsh Posté le 17-12-2011 à 17:42:12
Sous quelle forme se présente abcd ? Toujours une série de lettres minuscules ? Si c'est le cas :
/([a-z]+)\(([0-9]+)\)/ |
Marsh Posté le 17-12-2011 à 18:07:07
nan, dans mon cas réel, c'est une URL, mais j'ai mis (.*) et ca marche parfaitement
Merci !
Marsh Posté le 17-12-2011 à 18:28:18
Parfait
Et maintenant, si je veux faire en sorte de trouver les variables php dans un document ?
Je tente /(\$[A-Za-z0-9]+)/ mais sans succès
Marsh Posté le 17-12-2011 à 18:31:07
Ça devrait pourtant fonctionner, tu match sur $, suivit de bidules genre lettres et chiffres. Rajoute aussi _, qui est valide dans un nom de variable. Et on ne peut commencer par un chiffre :
/(\$[A-Za-z_][A-Za-z0-9_]+)/ |
Marsh Posté le 17-12-2011 à 18:35:12
Etrange, cela ne fonctionne pas
Voici mon code complet :
Code :
|
Marsh Posté le 17-12-2011 à 18:50:27
T'as mis ta regexp entre double-quotes (" " ). Et il se trouve du coup que le \$ se transforme en $ (les double-quotes forcent le parsing de la string pour remplacer les potentielles variables). Il faut doubler le \ :
preg_match("/(\\$[A-Za-z_][A-Za-z0-9_]+)/", $str, $regs); |
Ou plus simplement utiliser des simple-quotes :
preg_match('/(\$[A-Za-z_][A-Za-z0-9_]+)/', $str, $regs); |
Marsh Posté le 17-12-2011 à 14:48:54
Bonjour
J'ai la chaine suivante :
et j'aimerais extraire les deux éléments abcd et 1234, ceux-ci se définissant comme :
- pour abcd : ce qui est avant (1234)
- pour 1234 : nombre entre deux parenthèses
j'essaie la regexp suivante :
qui me retourne bien le 1234 mais je n'arrive pas à récupérer le abcd égatlement avec la regexp
Pourriez vous m'aider ?
Merci d'avance