[Zend] Expressions régulières

Mammouth du PHP | 1668 Messages

03 juil. 2008, 13:17

Bonjour à toutes et tous,

Voilà, je dispose de Zend studio, et j'aimerais me servir des expression régulière, pour le search&replace, seulement, je n'ai rien trouvé dans la doc et les REGEX de PHP ne fonctionne pas avec, auriez vous une source qui pourrait m'apprendre à les manipuler ?

Par avance merci.
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

ViPHP
ViPHP | 4039 Messages

03 juil. 2008, 17:32

leur regex n'est pas compatible perl ?
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Mammouth du PHP | 1668 Messages

03 juil. 2008, 18:17

Je sais pas moi, j'entre un regex comme pour preg_replace et ça me dit syntaxe incorrecte :/
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

Eléphant du PHP | 377 Messages

03 juil. 2008, 18:21

essaie sans les délimiteurs peut-être ?
Petit scarabée deviendra grand

Mammouth du PHP | 19672 Messages

03 juil. 2008, 20:59

J'utilise assez régulièrement les expressions régulières avec le ZDE sans difficultés particulières : fais-donc voir le masque que tu as essayé, il doit y avoir une coquille dedans :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 1668 Messages

03 juil. 2008, 21:32

Bah, quand je fais : #)(?:\s)?{# et que je veux remplacé ça part )\n{, hop y a une erreur de syntaxe...
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

Mammouth du PHP | 19672 Messages

03 juil. 2008, 22:27

logique, d'abord il ne faut pas mettre de délimiteurs, ensuite la première parenthèses fermante est le principal déclencheur de l'erreur : essaye plutôt

Code : Tout sélectionner

\)(?:\s)?{
Tu conserveras donc la première parenthèses non comme un caractères spécial réservé des regexp mais comme le caractère "parenthèse". Enfin j'utiliserais plutôt ceci :

Code : Tout sélectionner

\) *{
Quel que soit le nombre d'espaces, qu'il n'y en ait pas du tout ou bien qu'il y en ait 20.

J'ajoute que tu ne feras pas un gain de performance significatif en mettant le "?:" pour rendre l'expression "non gourmande" et tu peux le retirer à mon avis.

Par contre, si j'interprête correctement ce que tu veux faire, à savoir ramener a la ligne les accolades ouvrantes de tes fonctions, tu vas au devant d'une déception et tu vas te retrouver avec des fonctions écrites telles quelles "function mafonction()\n{" au lieu d'avoir le retour de chariot attendu.

Si tu veux faire ça, utilise Notepad++ qui effectuera le remplacement comme tu l'attends, toujours sur la base de cette même expression régulière bien entendu.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 1668 Messages

04 juil. 2008, 10:06

Ok, merci :lol:
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol