Rechercher : dans
Par :

Expression régulière

Dernière réponse le 20 jun 2007 à 16:06:54 fabien.joubert, le 20 jun 2007 à 10:44:44 
 Signaler ce message aux modérateurs

Bonjour

Savez vous ce que signifie l'expression régulière '/\(\'([^\']+)/'
J'avoue que je ne comprends pas bien
Merci à ceux qui pourront me répondre

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « expression régulière » dans :
Sed - Trucs et astuces VoirSubstitution Affichage Suppression Espace et tabulation Ligne vide Intervalle régulier Divers Joindre des lignes Affichage insensible à la casse Substitution Substituer "foo" par "bar" à chaque ligne Seulement la 1ère...
Renommer plusieurs fichiers en batch VoirLe fait de renommer un grand nombre de fichiers peut très vite devenir fastidieux. Heureusement, il existe des outils permettant d'automatiser cette tâche dans un grand nombre de cas : Fonctionnalités natives Utilisation d'un programme...
Télécharger Renamer4Mac VoirRenamer4Mac permet de renommer facilement un grand nombre de fichiers. Par un simple glisser/déposer des fichiers sur son icône ou dans sa fenêtre, on peut agir de différentes manières. par Rechercher/Remplacer (expression régulière et...
PHP - Expressions régulières VoirQu'est-ce qu'une expression régulière? Les expressions régulières sont des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, c'est-à-dire permettant de trouver les portions de la chaîne correspondant au...
Javascript - L'objet RegExp VoirLes particularités de l'objet RegExp L'objet RegExp est un objet permettant de manipuler des expressions régulières, c'est-à-dire des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, afin de trouver des...

1

mamiemando, le 20 jun 2007 à 10:58:59

[^\'] 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/Uni­xShell/sed.fre.html

Exemple:

s/É/É/g

signifie remplace (s/) tous (/g) les É par des É

Bonne chance

Répondre à mamiemando

2

fabien.joubert, le 20 jun 2007 à 11:09:43

Merci bcp

Répondre à fabien.joubert

3

lami20j, le 20 jun 2007 à 12:47:27

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. lami20j

Répondre à lami20j

4

fabien.joubert, le 20 jun 2007 à 16:03:29

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

Répondre à fabien.joubert

5

 lami20j, le 20 jun 2007 à 16:06:54

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 :-) lami20j

Répondre à lami20j
Collection CommentÇaMarche.net