Expression régulière
Résolu/Fermé
fabien.joubert
Messages postés
35
Date d'inscription
vendredi 15 juin 2007
Statut
Membre
Dernière intervention
31 juillet 2008
-
20 juin 2007 à 10:44
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 20 juin 2007 à 16:06
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 20 juin 2007 à 16:06
A voir également:
- Expression régulière
- Expression de recherche - Guide
- Avoir du ping expression - Forum Réseau
- Quel fichier contient l’expression trouverpix ? - Forum Programmation
- Expression encoder - Télécharger - Divers Utilitaires
- Mettre en image expression ✓ - Forum Jeux vidéo
4 réponses
mamiemando
Messages postés
33390
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
28 novembre 2024
7 803
20 juin 2007 à 10:58
20 juin 2007 à 10:58
[^\'] tout caractère autre que \ ou '
[^\']+ suite de 1 à n caractères autres que \ ou '
([^\']+) stocker la la suite de 1 à n caractère autre que \ ou '
/\(\' .... / : la chaîne commence par /(' et fini par /.
A noter que si c'est un sed les / de début et fin servent en fait à délimiter l'expression régulière.
http://veille-srv.inist.fr/dilib/v04Veille/Documentation/UnixShell/sed.fre.html
Exemple:
signifie remplace (s/) tous (/g) les É par des É
Bonne chance
[^\']+ suite de 1 à n caractères autres que \ ou '
([^\']+) stocker la la suite de 1 à n caractère autre que \ ou '
/\(\' .... / : la chaîne commence par /(' et fini par /.
A noter que si c'est un sed les / de début et fin servent en fait à délimiter l'expression régulière.
http://veille-srv.inist.fr/dilib/v04Veille/Documentation/UnixShell/sed.fre.html
Exemple:
s/É/É/g
signifie remplace (s/) tous (/g) les É par des É
Bonne chance
fabien.joubert
Messages postés
35
Date d'inscription
vendredi 15 juin 2007
Statut
Membre
Dernière intervention
31 juillet 2008
14
20 juin 2007 à 11:09
20 juin 2007 à 11:09
Merci bcp
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
20 juin 2007 à 12:47
20 juin 2007 à 12:47
Salut,
il faut savoir avec quel outils tu utilises ta regex
Dans une classe de caractère \ à un comportement un peu spécial comme d'ailleurs par tout.
Donc même à l'intérieur d'une classe pour reconnaître un \ il faut le doubler avec un \ donc \\ ce qui donne [^\\]
Si je prends le cas [^\'] alors si l'interpretation que Miss a donné est correcte on pourrait écrire [^'\] mais on risque d'avoir des surprises puisqu'en ce moment le \ va permettre de reconnaître ] en tant que caractère, donc il ne s'agit plus d'une classe de caractère
En bref dans ton cas l'apostrophe simple à un \ avant qui n'es pas vraiment nécessaire pour ne pas le reconnaître. C'est suffisant [^']
Mais comme l'a bien precisé Miss il faut savoir avec quel outils tu utilises cette regex.
Pour Perl voilà la traduction
'/\(\'([^\']+)/'
reconnaître une paranthèse ouvrante suivi d'un apostrophe simple et ensuite il faut capturer tout les caractères non énumére par la classe (dans notre cas il s'agit d'apostrophe simple) une fois minimum, autant que tu peux maximum
si c'est pour sed on tombe sur une autre situation, il s'agit de l'interprétation par le shell en plus de sed
En bref, pour avoir une explication plus claire il faut nous dire quel outils t'utilise pour cette regex.
Merci.
il faut savoir avec quel outils tu utilises ta regex
Dans une classe de caractère \ à un comportement un peu spécial comme d'ailleurs par tout.
Donc même à l'intérieur d'une classe pour reconnaître un \ il faut le doubler avec un \ donc \\ ce qui donne [^\\]
Si je prends le cas [^\'] alors si l'interpretation que Miss a donné est correcte on pourrait écrire [^'\] mais on risque d'avoir des surprises puisqu'en ce moment le \ va permettre de reconnaître ] en tant que caractère, donc il ne s'agit plus d'une classe de caractère
En bref dans ton cas l'apostrophe simple à un \ avant qui n'es pas vraiment nécessaire pour ne pas le reconnaître. C'est suffisant [^']
Mais comme l'a bien precisé Miss il faut savoir avec quel outils tu utilises cette regex.
Pour Perl voilà la traduction
'/\(\'([^\']+)/'
reconnaître une paranthèse ouvrante suivi d'un apostrophe simple et ensuite il faut capturer tout les caractères non énumére par la classe (dans notre cas il s'agit d'apostrophe simple) une fois minimum, autant que tu peux maximum
si c'est pour sed on tombe sur une autre situation, il s'agit de l'interprétation par le shell en plus de sed
En bref, pour avoir une explication plus claire il faut nous dire quel outils t'utilise pour cette regex.
Merci.
fabien.joubert
Messages postés
35
Date d'inscription
vendredi 15 juin 2007
Statut
Membre
Dernière intervention
31 juillet 2008
14
20 juin 2007 à 16:03
20 juin 2007 à 16:03
eee je ne sais pas... je suis désolé.
je n'ai pas installé les outils.
de plus je ne connais pas bien le fonctionnement du php
je ne suis donc vraiment pas sur de bien répondre...
merci quand même
je n'ai pas installé les outils.
de plus je ne connais pas bien le fonctionnement du php
je ne suis donc vraiment pas sur de bien répondre...
merci quand même
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
20 juin 2007 à 16:06
20 juin 2007 à 16:06
Salut,
de plus je ne connais pas bien le fonctionnement du php
je ne suis donc vraiment pas sur de bien répondre...
Ben, tu viens de repondre, c'est du php :-))
Et les regex sont plutôt proches de Perl :-)
de plus je ne connais pas bien le fonctionnement du php
je ne suis donc vraiment pas sur de bien répondre...
Ben, tu viens de repondre, c'est du php :-))
Et les regex sont plutôt proches de Perl :-)