<http://stephane.moriaux.pagesperso-orange.fr/truc/js_regexp_test>
Tu avais écrit :
(?:>)[ w_.:+,;0-9]+(?:<)
Oui.On peut déjà commencer par virer les inutiles :
(?:>)[ w_.:+,;0-9]+(?:<)
Je croyais que le point remplaçait n'importe quel caractère !
Comment se fait-ce qu'il ne faille pas l'échapper ici ?
Remplaçons le test non capturant du début par une assertion positive
arrière :
(?<=>)[ w_.:+,;0-9]+(?=<)
Résultat :
(vide)
Eh oui !
(ne figure pas ici
:<https://developer.mozilla.org/index.php?title=Fr/R%C3%A9f%C3%A9rence_de_JavaScript_1.5_Core:Objets_globaux:RegExp>
)
Et alors, pour finir, qu'est-ce qu'un test "non capturant" ?
puisque : (?:>)
conserve le >
on peut faire plus malin :
[^<>]*w[^<>]*(?=<)
Boudiou !
Outre que j'ai cherché depuis mon postage sans trouver ce sioux là,
je n'ai pas réussi à faire fonctionner le "Regulator"
et ... quoi? quoi? quoi ?
- je commence pas ne pas vouloir < ni > (0 fois ou plus)
je m'étais contenté de [^s>]
- puis je veux tous les alphanumériques et le _
bon, ok
- ensuite je ne reveux pas < ni >
ben non! pour sûr (mais, à mon idée ça ne sert à rien puisque suite)
- le tout à condition de ne pas être suivi par un <
J'ai beau arriver à lire (du moins pense-je) je ne vois pas ce que c'est
censé faire (même si je vois ce que ça fait)
Résultat :
Pour les programmeurs
Version 0.6
tu arrives comme ça à attraper 'test_06.zip' qui m'échappait
mais les ligne-retours et tabulations sont conservées
Je n'arrive pas à les supprimer, ça me tue ! :-(
Mais en revanche je ne suis pas sûr que l'expression qui suit ne
pourrait pas accepter un « » au lieu d'un « + » :
6) var re = /^[+]$/;
ça donne 'null' sur ma démo
Ha! Ben ? normal, le string de test n'était pas '+' tout seul :-(
Sur ma démo mise à '+' cette fois,
y fonctionnent :
^[+]$
ou (ton équivalence) :
^[+]$
ou même directement :
^+$
<http://stephane.moriaux.pagesperso-orange.fr/truc/js_regexp_test>
Tu avais écrit :
(?:>)[ w_.:+,;0-9]+(?:<)
Oui.
On peut déjà commencer par virer les inutiles :
(?:>)[ w_.:+,;0-9]+(?:<)
Je croyais que le point remplaçait n'importe quel caractère !
Comment se fait-ce qu'il ne faille pas l'échapper ici ?
Remplaçons le test non capturant du début par une assertion positive
arrière :
(?<=>)[ w_.:+,;0-9]+(?=<)
Résultat :
(vide)
Eh oui !
(ne figure pas ici
:<https://developer.mozilla.org/index.php?title=Fr/R%C3%A9f%C3%A9rence_de_JavaScript_1.5_Core:Objets_globaux:RegExp>
)
Et alors, pour finir, qu'est-ce qu'un test "non capturant" ?
puisque : (?:>)
conserve le >
on peut faire plus malin :
[^<>]*w[^<>]*(?=<)
Boudiou !
Outre que j'ai cherché depuis mon postage sans trouver ce sioux là,
je n'ai pas réussi à faire fonctionner le "Regulator"
et ... quoi? quoi? quoi ?
- je commence pas ne pas vouloir < ni > (0 fois ou plus)
je m'étais contenté de [^s>]
- puis je veux tous les alphanumériques et le _
bon, ok
- ensuite je ne reveux pas < ni >
ben non! pour sûr (mais, à mon idée ça ne sert à rien puisque suite)
- le tout à condition de ne pas être suivi par un <
J'ai beau arriver à lire (du moins pense-je) je ne vois pas ce que c'est
censé faire (même si je vois ce que ça fait)
Résultat :
Pour les programmeurs
Version 0.6
tu arrives comme ça à attraper 'test_06.zip' qui m'échappait
mais les ligne-retours et tabulations sont conservées
Je n'arrive pas à les supprimer, ça me tue ! :-(
Mais en revanche je ne suis pas sûr que l'expression qui suit ne
pourrait pas accepter un « » au lieu d'un « + » :
6) var re = /^[+]$/;
ça donne 'null' sur ma démo
Ha! Ben ? normal, le string de test n'était pas '+' tout seul :-(
Sur ma démo mise à '+' cette fois,
y fonctionnent :
^[+]$
ou (ton équivalence) :
^[+]$
ou même directement :
^+$
<http://stephane.moriaux.pagesperso-orange.fr/truc/js_regexp_test>
Tu avais écrit :
(?:>)[ w_.:+,;0-9]+(?:<)
Oui.On peut déjà commencer par virer les inutiles :
(?:>)[ w_.:+,;0-9]+(?:<)
Je croyais que le point remplaçait n'importe quel caractère !
Comment se fait-ce qu'il ne faille pas l'échapper ici ?
Remplaçons le test non capturant du début par une assertion positive
arrière :
(?<=>)[ w_.:+,;0-9]+(?=<)
Résultat :
(vide)
Eh oui !
(ne figure pas ici
:<https://developer.mozilla.org/index.php?title=Fr/R%C3%A9f%C3%A9rence_de_JavaScript_1.5_Core:Objets_globaux:RegExp>
)
Et alors, pour finir, qu'est-ce qu'un test "non capturant" ?
puisque : (?:>)
conserve le >
on peut faire plus malin :
[^<>]*w[^<>]*(?=<)
Boudiou !
Outre que j'ai cherché depuis mon postage sans trouver ce sioux là,
je n'ai pas réussi à faire fonctionner le "Regulator"
et ... quoi? quoi? quoi ?
- je commence pas ne pas vouloir < ni > (0 fois ou plus)
je m'étais contenté de [^s>]
- puis je veux tous les alphanumériques et le _
bon, ok
- ensuite je ne reveux pas < ni >
ben non! pour sûr (mais, à mon idée ça ne sert à rien puisque suite)
- le tout à condition de ne pas être suivi par un <
J'ai beau arriver à lire (du moins pense-je) je ne vois pas ce que c'est
censé faire (même si je vois ce que ça fait)
Résultat :
Pour les programmeurs
Version 0.6
tu arrives comme ça à attraper 'test_06.zip' qui m'échappait
mais les ligne-retours et tabulations sont conservées
Je n'arrive pas à les supprimer, ça me tue ! :-(
Mais en revanche je ne suis pas sûr que l'expression qui suit ne
pourrait pas accepter un « » au lieu d'un « + » :
6) var re = /^[+]$/;
ça donne 'null' sur ma démo
Ha! Ben ? normal, le string de test n'était pas '+' tout seul :-(
Sur ma démo mise à '+' cette fois,
y fonctionnent :
^[+]$
ou (ton équivalence) :
^[+]$
ou même directement :
^+$
mais les ligne-retours et tabulations sont conservées
Je n'arrive pas à les supprimer, ça me tue ! :-(
[...]
[^<>s](?:[^<>]*[^<>s])?(?=s*<)
mais les ligne-retours et tabulations sont conservées
Je n'arrive pas à les supprimer, ça me tue ! :-(
[...]
[^<>s](?:[^<>]*[^<>s])?(?=s*<)
mais les ligne-retours et tabulations sont conservées
Je n'arrive pas à les supprimer, ça me tue ! :-(
[...]
[^<>s](?:[^<>]*[^<>s])?(?=s*<)
Le 09/01/2009 16:58, SAM a écrit :<http://stephane.moriaux.pagesperso-orange.fr/truc/js_regexp_test>
Tu avais écrit :
(?:>)[ w_.:+,;0-9]+(?:<)
Oui.On peut déjà commencer par virer les inutiles :
(?:>)[ w_.:+,;0-9]+(?:<)
Je croyais que le point remplaçait n'importe quel caractère !
Comment se fait-ce qu'il ne faille pas l'échapper ici ?
Le point remplace n'importe quel caractère (sauf les sauts de
ligne quand on n'a pas mis l'option /s) *en dehors d'une classe
de caractères*.
Dans une classe de caractères, les seuls caractères spéciaux sont :
(comme d'hab)
^ (seulement si c'est le premier caractère)
- (sauf au début ou à la fin)
[ (seulement s'il est suivi par une syntaxe POSIX du style [:alpha:])
] (sauf au début)
Il est donc parfaitement inutile d'échapper un . (ou un +).
Pourtant, le standard ECMA-262 spécifie que les RegExp de JavaScript
sont basées sur Perl 5, lequel supporte aussi bien les assertions en
arrière que les assertions en avant.
Mais je viens de trouver ceci :
<http://www.regular-expressions.info/lookaround.html#limitbehind>
Finally, flavors like JavaScript, Ruby and Tcl do not support lookbehind
at all, even though they do support lookahead.
</>Et alors, pour finir, qu'est-ce qu'un test "non capturant" ?
puisque : (?:>)
conserve le >
Eh bien (?:xxx) est strictement identique à xxx, dans la mesure où il ne
met rien dans RegExp.$1, RegExp.$2, etc.
Je précisais « non capturant »
[^<>]*w[^<>]*(?=<)
Boudiou !
J'ai beau arriver à lire (du moins pense-je) je ne vois pas ce que c'est
censé faire (même si je vois ce que ça fait)
Le test ci-dessus est censé récupérer toute chaîne de caractères ne
contenant ni < ni > mais contenant au moins une lettre, et suivie
par un caractère < (lequel ne sera pas retourné). Pour supprimer la
condition « contenant au moins une lettre », il suffit d'écrire :
[^<>]*(?=<)
Ou bien (si on veut ignorer les chaînes vides) :
[^<>]+(?=<)
Voyons voir.
On veut donc une chaîne qui commence et qui finit
par un caractère autre qu'un chevron ou une espace :
[^<>s]
Cette chaîne peut contenir autant de caractères que l'on veut autres que
des chevrons, mais pouvant être des espaces :
[^<>]*
Cela donne donc :
[^<>s][^<>]*[^<>s]
Pour faire bonne mesure, on veut s'assurer que, éventuellement après des
espaces, on trouvera forcément un chevron ouvrant :
(?=s*<)
Au final, cela donne :
[^<>s][^<>]*[^<>s](?=s*<)
C'est déjà pas mal, mais ce test n'est pas parfait, car si une chaîne
est constituée d'un seul caractère non blanc elle ne sera pas trouvée.
Pour corriger ce bug, on va dire que la séquence « [^<>]*[^<>s] » est
optionnelle :
([^<>]*[^<>s])?
Donc :
[^<>s]([^<>]*[^<>s])?(?=s*<)
Et comme on n'a pas besoin que les parenthèses ajoutées soient
capturantes, on peut remplacer « ( » par « (?: » :
[^<>s](?:[^<>]*[^<>s])?(?=s*<)
Ça te plaît ? ;-)
C'est exactement le genre de programme test que je
voulais faire mais que je n'ai pas fait faute de temps.
Le 09/01/2009 16:58, SAM a écrit :
<http://stephane.moriaux.pagesperso-orange.fr/truc/js_regexp_test>
Tu avais écrit :
(?:>)[ w_.:+,;0-9]+(?:<)
Oui.
On peut déjà commencer par virer les inutiles :
(?:>)[ w_.:+,;0-9]+(?:<)
Je croyais que le point remplaçait n'importe quel caractère !
Comment se fait-ce qu'il ne faille pas l'échapper ici ?
Le point remplace n'importe quel caractère (sauf les sauts de
ligne quand on n'a pas mis l'option /s) *en dehors d'une classe
de caractères*.
Dans une classe de caractères, les seuls caractères spéciaux sont :
(comme d'hab)
^ (seulement si c'est le premier caractère)
- (sauf au début ou à la fin)
[ (seulement s'il est suivi par une syntaxe POSIX du style [:alpha:])
] (sauf au début)
Il est donc parfaitement inutile d'échapper un . (ou un +).
Pourtant, le standard ECMA-262 spécifie que les RegExp de JavaScript
sont basées sur Perl 5, lequel supporte aussi bien les assertions en
arrière que les assertions en avant.
Mais je viens de trouver ceci :
<http://www.regular-expressions.info/lookaround.html#limitbehind>
Finally, flavors like JavaScript, Ruby and Tcl do not support lookbehind
at all, even though they do support lookahead.
</>
Et alors, pour finir, qu'est-ce qu'un test "non capturant" ?
puisque : (?:>)
conserve le >
Eh bien (?:xxx) est strictement identique à xxx, dans la mesure où il ne
met rien dans RegExp.$1, RegExp.$2, etc.
Je précisais « non capturant »
[^<>]*w[^<>]*(?=<)
Boudiou !
J'ai beau arriver à lire (du moins pense-je) je ne vois pas ce que c'est
censé faire (même si je vois ce que ça fait)
Le test ci-dessus est censé récupérer toute chaîne de caractères ne
contenant ni < ni > mais contenant au moins une lettre, et suivie
par un caractère < (lequel ne sera pas retourné). Pour supprimer la
condition « contenant au moins une lettre », il suffit d'écrire :
[^<>]*(?=<)
Ou bien (si on veut ignorer les chaînes vides) :
[^<>]+(?=<)
Voyons voir.
On veut donc une chaîne qui commence et qui finit
par un caractère autre qu'un chevron ou une espace :
[^<>s]
Cette chaîne peut contenir autant de caractères que l'on veut autres que
des chevrons, mais pouvant être des espaces :
[^<>]*
Cela donne donc :
[^<>s][^<>]*[^<>s]
Pour faire bonne mesure, on veut s'assurer que, éventuellement après des
espaces, on trouvera forcément un chevron ouvrant :
(?=s*<)
Au final, cela donne :
[^<>s][^<>]*[^<>s](?=s*<)
C'est déjà pas mal, mais ce test n'est pas parfait, car si une chaîne
est constituée d'un seul caractère non blanc elle ne sera pas trouvée.
Pour corriger ce bug, on va dire que la séquence « [^<>]*[^<>s] » est
optionnelle :
([^<>]*[^<>s])?
Donc :
[^<>s]([^<>]*[^<>s])?(?=s*<)
Et comme on n'a pas besoin que les parenthèses ajoutées soient
capturantes, on peut remplacer « ( » par « (?: » :
[^<>s](?:[^<>]*[^<>s])?(?=s*<)
Ça te plaît ? ;-)
C'est exactement le genre de programme test que je
voulais faire mais que je n'ai pas fait faute de temps.
Le 09/01/2009 16:58, SAM a écrit :<http://stephane.moriaux.pagesperso-orange.fr/truc/js_regexp_test>
Tu avais écrit :
(?:>)[ w_.:+,;0-9]+(?:<)
Oui.On peut déjà commencer par virer les inutiles :
(?:>)[ w_.:+,;0-9]+(?:<)
Je croyais que le point remplaçait n'importe quel caractère !
Comment se fait-ce qu'il ne faille pas l'échapper ici ?
Le point remplace n'importe quel caractère (sauf les sauts de
ligne quand on n'a pas mis l'option /s) *en dehors d'une classe
de caractères*.
Dans une classe de caractères, les seuls caractères spéciaux sont :
(comme d'hab)
^ (seulement si c'est le premier caractère)
- (sauf au début ou à la fin)
[ (seulement s'il est suivi par une syntaxe POSIX du style [:alpha:])
] (sauf au début)
Il est donc parfaitement inutile d'échapper un . (ou un +).
Pourtant, le standard ECMA-262 spécifie que les RegExp de JavaScript
sont basées sur Perl 5, lequel supporte aussi bien les assertions en
arrière que les assertions en avant.
Mais je viens de trouver ceci :
<http://www.regular-expressions.info/lookaround.html#limitbehind>
Finally, flavors like JavaScript, Ruby and Tcl do not support lookbehind
at all, even though they do support lookahead.
</>Et alors, pour finir, qu'est-ce qu'un test "non capturant" ?
puisque : (?:>)
conserve le >
Eh bien (?:xxx) est strictement identique à xxx, dans la mesure où il ne
met rien dans RegExp.$1, RegExp.$2, etc.
Je précisais « non capturant »
[^<>]*w[^<>]*(?=<)
Boudiou !
J'ai beau arriver à lire (du moins pense-je) je ne vois pas ce que c'est
censé faire (même si je vois ce que ça fait)
Le test ci-dessus est censé récupérer toute chaîne de caractères ne
contenant ni < ni > mais contenant au moins une lettre, et suivie
par un caractère < (lequel ne sera pas retourné). Pour supprimer la
condition « contenant au moins une lettre », il suffit d'écrire :
[^<>]*(?=<)
Ou bien (si on veut ignorer les chaînes vides) :
[^<>]+(?=<)
Voyons voir.
On veut donc une chaîne qui commence et qui finit
par un caractère autre qu'un chevron ou une espace :
[^<>s]
Cette chaîne peut contenir autant de caractères que l'on veut autres que
des chevrons, mais pouvant être des espaces :
[^<>]*
Cela donne donc :
[^<>s][^<>]*[^<>s]
Pour faire bonne mesure, on veut s'assurer que, éventuellement après des
espaces, on trouvera forcément un chevron ouvrant :
(?=s*<)
Au final, cela donne :
[^<>s][^<>]*[^<>s](?=s*<)
C'est déjà pas mal, mais ce test n'est pas parfait, car si une chaîne
est constituée d'un seul caractère non blanc elle ne sera pas trouvée.
Pour corriger ce bug, on va dire que la séquence « [^<>]*[^<>s] » est
optionnelle :
([^<>]*[^<>s])?
Donc :
[^<>s]([^<>]*[^<>s])?(?=s*<)
Et comme on n'a pas besoin que les parenthèses ajoutées soient
capturantes, on peut remplacer « ( » par « (?: » :
[^<>s](?:[^<>]*[^<>s])?(?=s*<)
Ça te plaît ? ;-)
C'est exactement le genre de programme test que je
voulais faire mais que je n'ai pas fait faute de temps.
Je remets ton lien pour tester :
http://stephane.moriaux.pagesperso-orange.fr/truc/js_regexp_testeur
Je remets ton lien pour tester :
http://stephane.moriaux.pagesperso-orange.fr/truc/js_regexp_testeur
Je remets ton lien pour tester :
http://stephane.moriaux.pagesperso-orange.fr/truc/js_regexp_testeur
<http://toutjavascript.com/service/regexp.php>
<http://toutjavascript.com/service/regexp.php>
<http://toutjavascript.com/service/regexp.php>
Salut, je profite de ce que tu en parles, j'ai téléchargé un fichier php
d'analyse de regexpr qui utilise aussi le JS :
<http://jack.r.free.fr/download/php/regexp_view.zip> et j'ai finalement
réussi à en faire un peu qque chose.
Salut, je profite de ce que tu en parles, j'ai téléchargé un fichier php
d'analyse de regexpr qui utilise aussi le JS :
<http://jack.r.free.fr/download/php/regexp_view.zip> et j'ai finalement
réussi à en faire un peu qque chose.
Salut, je profite de ce que tu en parles, j'ai téléchargé un fichier php
d'analyse de regexpr qui utilise aussi le JS :
<http://jack.r.free.fr/download/php/regexp_view.zip> et j'ai finalement
réussi à en faire un peu qque chose.
Salut !
Je ne réponds pas aux questions que tu t'es posées avant de trouver
toi-même la réponse : si cela peut te rassurer, oui, tu as bien tout
compris.
Je répondrai juste à la question de ce que sont les parenthèses
Ceci devrait répondre à tes questions à propos des replace(), dans
lesquels tu croyais que les parenthèses capturantes devaient capturer
ou non des caractères dans le résultat global : non, ça ne change
strictement rien au motif validé par l'expression rationnelle complète.
---------------------------------------------------------------------
Pendant qu'on y est, je signale que ces parenthèses capturantes peuvent
être très pratiques grâce aux « références arrières ». Je m'explique.
Supposons qu'on veuille reconnaître l'une des deux chaînes suivantes :
soit "the red king and the red queen" ;
soit "the white king and the white queen" ;
et *aucune* autre.
L'expression /the (red|white) king and the (red|white) queen/ ne
fonctionne pas, car elle trouvera aussi la chaîne suivante, dont on
ne veut pas :
"the red king and the white queen"
En revanche, l'expression suivante fonctionne :
/the (red|white) king and the 1 queen/
En effet, le 1 prend comme valeur le contenu de la première paire de
parenthèses capturantes (et la seule dans cet exemple).
Je remets ton lien pour tester :
http://stephane.moriaux.pagesperso-orange.fr/truc/js_regexp_testeur
---------------------------------------------------------------------
Exercice pour le lecteur : quelles sont les chaînes reconnues par
l'expression suivante ?
/the (red|white) king and the (?!1)(red|white) queen/
Salut !
Je ne réponds pas aux questions que tu t'es posées avant de trouver
toi-même la réponse : si cela peut te rassurer, oui, tu as bien tout
compris.
Je répondrai juste à la question de ce que sont les parenthèses
Ceci devrait répondre à tes questions à propos des replace(), dans
lesquels tu croyais que les parenthèses capturantes devaient capturer
ou non des caractères dans le résultat global : non, ça ne change
strictement rien au motif validé par l'expression rationnelle complète.
---------------------------------------------------------------------
Pendant qu'on y est, je signale que ces parenthèses capturantes peuvent
être très pratiques grâce aux « références arrières ». Je m'explique.
Supposons qu'on veuille reconnaître l'une des deux chaînes suivantes :
soit "the red king and the red queen" ;
soit "the white king and the white queen" ;
et *aucune* autre.
L'expression /the (red|white) king and the (red|white) queen/ ne
fonctionne pas, car elle trouvera aussi la chaîne suivante, dont on
ne veut pas :
"the red king and the white queen"
En revanche, l'expression suivante fonctionne :
/the (red|white) king and the 1 queen/
En effet, le 1 prend comme valeur le contenu de la première paire de
parenthèses capturantes (et la seule dans cet exemple).
Je remets ton lien pour tester :
http://stephane.moriaux.pagesperso-orange.fr/truc/js_regexp_testeur
---------------------------------------------------------------------
Exercice pour le lecteur : quelles sont les chaînes reconnues par
l'expression suivante ?
/the (red|white) king and the (?!1)(red|white) queen/
Salut !
Je ne réponds pas aux questions que tu t'es posées avant de trouver
toi-même la réponse : si cela peut te rassurer, oui, tu as bien tout
compris.
Je répondrai juste à la question de ce que sont les parenthèses
Ceci devrait répondre à tes questions à propos des replace(), dans
lesquels tu croyais que les parenthèses capturantes devaient capturer
ou non des caractères dans le résultat global : non, ça ne change
strictement rien au motif validé par l'expression rationnelle complète.
---------------------------------------------------------------------
Pendant qu'on y est, je signale que ces parenthèses capturantes peuvent
être très pratiques grâce aux « références arrières ». Je m'explique.
Supposons qu'on veuille reconnaître l'une des deux chaînes suivantes :
soit "the red king and the red queen" ;
soit "the white king and the white queen" ;
et *aucune* autre.
L'expression /the (red|white) king and the (red|white) queen/ ne
fonctionne pas, car elle trouvera aussi la chaîne suivante, dont on
ne veut pas :
"the red king and the white queen"
En revanche, l'expression suivante fonctionne :
/the (red|white) king and the 1 queen/
En effet, le 1 prend comme valeur le contenu de la première paire de
parenthèses capturantes (et la seule dans cet exemple).
Je remets ton lien pour tester :
http://stephane.moriaux.pagesperso-orange.fr/truc/js_regexp_testeur
---------------------------------------------------------------------
Exercice pour le lecteur : quelles sont les chaînes reconnues par
l'expression suivante ?
/the (red|white) king and the (?!1)(red|white) queen/
Le 11/01/2009 01:48, SAM a écrit :<http://toutjavascript.com/service/regexp.php>
C'est très bien. Pour comprendre les parenthèses capturantes, essaye-le
avec l'option « match » (celle en haut à droite, car l'autre fait en
réalité un « search »), et en décochant « recherche globale ».
Le 11/01/2009 01:48, SAM a écrit :
<http://toutjavascript.com/service/regexp.php>
C'est très bien. Pour comprendre les parenthèses capturantes, essaye-le
avec l'option « match » (celle en haut à droite, car l'autre fait en
réalité un « search »), et en décochant « recherche globale ».
Le 11/01/2009 01:48, SAM a écrit :<http://toutjavascript.com/service/regexp.php>
C'est très bien. Pour comprendre les parenthèses capturantes, essaye-le
avec l'option « match » (celle en haut à droite, car l'autre fait en
réalité un « search »), et en décochant « recherche globale ».
Le 1/11/09 12:21 PM, Jack.R a écrit :Le Fri, 09 Jan 2009 14:24:38 +0100, SAM a écrit:Salut, je profite de ce que tu en parles, j'ai téléchargé un fichier
php d'analyse de regexpr qui utilise aussi le JS :
En fait ... non, ça se passe bien côté serveur donc analysé en php.
http://jack.r.free.fr/index.php?lng=fr&page=regexpview
Si il peut rendre des services à d'autres personnes ...
Il ne manque plus que le consulter en ligne (ce me semble ?).
Pour l'exercice proposé par Olivier :
source :
the red king and the red queen
the white king and the white queen
the red king and the white queen
patterns ;
-1: /the (red|white) king and the 1 queen/
-2: /the (red|white) king
and the (?!1)(red|white) queen/
Ça a l'air de fonctionner si l'on met les / d'enfermement, cependant les
1 et (?!1)(red|white) ne sont pas mis en relief ni dans le pattern
result
ni dans le string result
Le 1/11/09 12:21 PM, Jack.R a écrit :
Le Fri, 09 Jan 2009 14:24:38 +0100, SAM a écrit:
Salut, je profite de ce que tu en parles, j'ai téléchargé un fichier
php d'analyse de regexpr qui utilise aussi le JS :
En fait ... non, ça se passe bien côté serveur donc analysé en php.
http://jack.r.free.fr/index.php?lng=fr&page=regexpview
Si il peut rendre des services à d'autres personnes ...
Il ne manque plus que le consulter en ligne (ce me semble ?).
Pour l'exercice proposé par Olivier :
source :
the red king and the red queen
the white king and the white queen
the red king and the white queen
patterns ;
-1: /the (red|white) king and the 1 queen/
-2: /the (red|white) king
and the (?!1)(red|white) queen/
Ça a l'air de fonctionner si l'on met les / d'enfermement, cependant les
1 et (?!1)(red|white) ne sont pas mis en relief ni dans le pattern
result
ni dans le string result
Le 1/11/09 12:21 PM, Jack.R a écrit :Le Fri, 09 Jan 2009 14:24:38 +0100, SAM a écrit:Salut, je profite de ce que tu en parles, j'ai téléchargé un fichier
php d'analyse de regexpr qui utilise aussi le JS :
En fait ... non, ça se passe bien côté serveur donc analysé en php.
http://jack.r.free.fr/index.php?lng=fr&page=regexpview
Si il peut rendre des services à d'autres personnes ...
Il ne manque plus que le consulter en ligne (ce me semble ?).
Pour l'exercice proposé par Olivier :
source :
the red king and the red queen
the white king and the white queen
the red king and the white queen
patterns ;
-1: /the (red|white) king and the 1 queen/
-2: /the (red|white) king
and the (?!1)(red|white) queen/
Ça a l'air de fonctionner si l'on met les / d'enfermement, cependant les
1 et (?!1)(red|white) ne sont pas mis en relief ni dans le pattern
result
ni dans le string result