par
Ryle » 18 mars 2008, 17:31
Le caractère ^ désigne le début de la chaine, or dans ton cas, le motif que tu recherche n'est pas obligatoirement au début de la chaine, mais peut être répété plusieurs fois à l'intérieur de celle-ci.
1. Pour détecter un crochet [ dans une expression régulière, il faut effectivement le backslasher.
2. Ce que tu cherches c'est un crochet suivit de la chaine "Premier Test.". Le point étant un caractère spécial, il faut également le protéger
3. Puis tu veux capturer tout ce qui suit. Pour capturer un élément on utilise les parenthèses, le ".*" permet de désigner n'importe quel caractère, répété de 0 à n fois
4. Jusqu'au prochain crochet qu'il faudra également protéger.
Reste plus qu'à affiner en jouant avec la casse (majuscule/minuscule), avec les caractères autorisés au lieu du .*, ainsi qu'avec l'option ungreedy si nécessaire (pour éviter qu'il n'étende l'expression jusqu'au tout dernier crochet)

Le caractère ^ désigne le début de la chaine, or dans ton cas, le motif que tu recherche n'est pas obligatoirement au début de la chaine, mais peut être répété plusieurs fois à l'intérieur de celle-ci.
1. Pour détecter un crochet [ dans une expression régulière, il faut effectivement le backslasher.
[code]#\[#[/code]
2. Ce que tu cherches c'est un crochet suivit de la chaine "Premier Test.". Le point étant un caractère spécial, il faut également le protéger
[code]#\[Premier Test\.#[/code]
3. Puis tu veux capturer tout ce qui suit. Pour capturer un élément on utilise les parenthèses, le ".*" permet de désigner n'importe quel caractère, répété de 0 à n fois
[code]#\[Premier Test\.(.*)#[/code]
4. Jusqu'au prochain crochet qu'il faudra également protéger.
[code]#\[Premier Test\.(.*)\]#[/code]
Reste plus qu'à affiner en jouant avec la casse (majuscule/minuscule), avec les caractères autorisés au lieu du .*, ainsi qu'avec l'option ungreedy si nécessaire (pour éviter qu'il n'étende l'expression jusqu'au tout dernier crochet) :)