Je lutte depuis quelques jours contre une expression reguliere.
J'ai un document qui contient des balises {text} ou texte est un mot de
15 lettres maximum.
J'aimerais recuperer tous ces mots, mais je n'y arrive pas ...
J'ai essaye:
ereg( '\\{[:alpha:]+\\}', $text, $regs );
mais il ne me retourne aucune valeur.
Je lutte depuis quelques jours contre une expression reguliere.
Tant que ça ?
J'ai un document qui contient des balises {text} ou texte est un mot de 15 lettres maximum. J'aimerais recuperer tous ces mots, mais je n'y arrive pas ...
J'ai essaye: ereg( '{[:alpha:]+}', $text, $regs ); mais il ne me retourne aucune valeur.
Il est déconseillé d'utiliser ereg pour des questions de perfs.
Je lutte depuis quelques jours contre une expression reguliere.
Tant que ça ?
J'ai un document qui contient des balises {text} ou texte est un mot de
15 lettres maximum.
J'aimerais recuperer tous ces mots, mais je n'y arrive pas ...
J'ai essaye:
ereg( '\{[:alpha:]+\}', $text, $regs );
mais il ne me retourne aucune valeur.
Il est déconseillé d'utiliser ereg pour des questions de perfs.
Je lutte depuis quelques jours contre une expression reguliere.
Tant que ça ?
J'ai un document qui contient des balises {text} ou texte est un mot de 15 lettres maximum. J'aimerais recuperer tous ces mots, mais je n'y arrive pas ...
J'ai essaye: ereg( '{[:alpha:]+}', $text, $regs ); mais il ne me retourne aucune valeur.
Il est déconseillé d'utiliser ereg pour des questions de perfs.
.* c'est 'autant de caracteres qu'ont veut' .*? c'est exactement la même chose (autant de caracteres qu'on veut, ou rien, mais rien est déjà inclus dans "autant de caracteres qu'on veut") (.*?){,15}, c'est autant de caracteres qu'ont veut, repeté entre 0 et 15 fois... C'est donc aussi exactement la même chose.
.* c'est 'autant de caracteres qu'ont veut'
.*? c'est exactement la même chose (autant de caracteres qu'on veut, ou
rien, mais rien est déjà inclus dans "autant de caracteres qu'on veut")
(.*?){,15}, c'est autant de caracteres qu'ont veut, repeté entre 0 et 15
fois... C'est donc aussi exactement la même chose.
.* c'est 'autant de caracteres qu'ont veut' .*? c'est exactement la même chose (autant de caracteres qu'on veut, ou rien, mais rien est déjà inclus dans "autant de caracteres qu'on veut") (.*?){,15}, c'est autant de caracteres qu'ont veut, repeté entre 0 et 15 fois... C'est donc aussi exactement la même chose.
sauf si quand un mot fait plus que 15 lettres il ne doive pas être considéré comme une balise, bien sûr.
[mode pointilleux on] rem : petite faute dans ton $pattern : soit commencer par '/ soit finir par /", mais mixer les 2 doit donner une bonne erreur des familles :) [mode pointilleux off]
sauf si quand un mot fait plus que 15 lettres il ne doive pas être
considéré comme une balise, bien sûr.
[mode pointilleux on]
rem : petite faute dans ton $pattern : soit commencer par '/ soit finir
par /", mais mixer les 2 doit donner une bonne erreur des familles :)
[mode pointilleux off]
sauf si quand un mot fait plus que 15 lettres il ne doive pas être considéré comme une balise, bien sûr.
[mode pointilleux on] rem : petite faute dans ton $pattern : soit commencer par '/ soit finir par /", mais mixer les 2 doit donner une bonne erreur des familles :) [mode pointilleux off]
.* c'est 'autant de caracteres qu'ont veut' .*? c'est exactement la même chose (autant de caracteres qu'on veut, ou rien, mais rien est déjà inclus dans "autant de caracteres qu'on veut") (.*?){,15}, c'est autant de caracteres qu'ont veut, repeté entre 0 et 15 fois... C'est donc aussi exactement la même chose.
<mode excuse> Ba eu, j'étais fatigué, j'ai pas vu le train passer, j'ai pensé que, enfin voila, puis en fait, enfin c'est clair non ? </mode excuse>
.* c'est 'autant de caracteres qu'ont veut'
.*? c'est exactement la même chose (autant de caracteres qu'on veut, ou
rien, mais rien est déjà inclus dans "autant de caracteres qu'on veut")
(.*?){,15}, c'est autant de caracteres qu'ont veut, repeté entre 0 et 15
fois... C'est donc aussi exactement la même chose.
<mode excuse>
Ba eu, j'étais fatigué, j'ai pas vu le train passer, j'ai pensé que,
enfin voila, puis en fait, enfin c'est clair non ?
</mode excuse>
.* c'est 'autant de caracteres qu'ont veut' .*? c'est exactement la même chose (autant de caracteres qu'on veut, ou rien, mais rien est déjà inclus dans "autant de caracteres qu'on veut") (.*?){,15}, c'est autant de caracteres qu'ont veut, repeté entre 0 et 15 fois... C'est donc aussi exactement la même chose.
<mode excuse> Ba eu, j'étais fatigué, j'ai pas vu le train passer, j'ai pensé que, enfin voila, puis en fait, enfin c'est clair non ? </mode excuse>
On peut toujours faire mieux : $pattern = "/{.+}/U";
:)
:D
(et bravo pour le mode pointilleux, j'avions point vu)
Aller les gars, je vois que vous etes en forme;)
Pour info, que signifie le '/U' ?
CrazyCat
frederic girard wrote:
Aller les gars, je vois que vous etes en forme;) Pour info, que signifie le '/U' ?
U (PCRE_UNGREEDY) : Cette option inverse la tendance à la gourmandise des expressions régulières. Vous pouvez aussi inverser cette tendance au coup par coup avec un ?. De même, si cette option est activée, le ? rendra gourmand une séquence.
-- Aide informatique: http://help-info.forumactif.com Humour: http://www.chatfou.com Tchattez en liberté: http://www.crazy-irc.net
frederic girard wrote:
Aller les gars, je vois que vous etes en forme;)
Pour info, que signifie le '/U' ?
U (PCRE_UNGREEDY) : Cette option inverse la tendance à la gourmandise
des expressions régulières. Vous pouvez aussi inverser cette tendance au
coup par coup avec un ?. De même, si cette option est activée, le ?
rendra gourmand une séquence.
--
Aide informatique: http://help-info.forumactif.com
Humour: http://www.chatfou.com
Tchattez en liberté: http://www.crazy-irc.net
Aller les gars, je vois que vous etes en forme;) Pour info, que signifie le '/U' ?
U (PCRE_UNGREEDY) : Cette option inverse la tendance à la gourmandise des expressions régulières. Vous pouvez aussi inverser cette tendance au coup par coup avec un ?. De même, si cette option est activée, le ? rendra gourmand une séquence.
-- Aide informatique: http://help-info.forumactif.com Humour: http://www.chatfou.com Tchattez en liberté: http://www.crazy-irc.net
Julduck
Salut,
Je vois que ma question vous a fait plaisir ;o)
J'avais en effet trouvé que preg etait mieux et j'avais meme trouvé: $template = "/{[a-z_:]{0,15}}/"; if( preg_match_all( $template, $design, $regs_lists ) )
Merci du coup de main ...
Julien
Salut,
Je vois que ma question vous a fait plaisir ;o)
J'avais en effet trouvé que preg etait mieux et j'avais meme trouvé:
$template = "/{[a-z_:]{0,15}}/";
if( preg_match_all( $template, $design, $regs_lists ) )