Re,
Lanfeust42 a écrit :
si j'ai bien compris le $1 est une variable "système", par contre je crois qu'il manque un signe dans ton code ou sinon j'ai rater un train:
à la ligne 7 du code sans commentaire:
$u =~ /(.*?)(?=()/;
ca serait pas:
$u =~ /(.*?)(?=\()/; comme tu la marquer dans le code commenter ligne 18??
|
$1 c'est une variable spéciale des expressions régulières.
Il y a encore ( @+, @-, $+, $^R, $&, $`, $' )
On utilise les paranthèses dans une regex pour plusieurs raisons: regroupement, capture.
Donc pour capturer une sous-chaîne on mets des paranthèses autour du motif.
Les paranthèses (ouvrantes) sont comptées en commencant de la gauche.
(\d)([a-z])(variable)
dans cet exemple
$1 va conteniur un chiffre
$2 une lettre minuscule
$3 la sous-chaine variable
Oui il y a une erreur puisque j'ai modifié le message donc \ à été effacé.
C'est bien /(.*?)(?=\()/
Une paranthèse ouvrante ( est un métacaractère donc pour l'avoir en tant que caractère on doit l'echapée avec \ donc \(
lami20j