(si j'ai bien compris ta question, ce qui n'est pas sûr : tes deux tirets veulent-ils dire "ou", et par quoi veux-tu remplacer...). Il reste à s'amuser avec le caractère entre tirets : que veux tu faire de 'a'b'c'd' ?
David -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
(si j'ai bien compris ta question, ce qui n'est pas sûr : tes deux
tirets veulent-ils dire "ou", et par quoi veux-tu remplacer...).
Il reste à s'amuser avec le caractère entre tirets : que veux tu faire
de 'a'b'c'd' ?
David
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
(si j'ai bien compris ta question, ce qui n'est pas sûr : tes deux tirets veulent-ils dire "ou", et par quoi veux-tu remplacer...). Il reste à s'amuser avec le caractère entre tirets : que veux tu faire de 'a'b'c'd' ?
David -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Heyberger Ludovic
On 3/7/06, David Prévot wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Heyberger Ludovic a écrit : > Salut a tous, > > je sais plus vers qui me tourner alors je vais vous exposer mon problem e :-) > > je cherche a faire une regexp qui ferait la chose suivante: > > remplacer dans une chaine de character, TOUT ce qui n'est PAS: > - un mot en majuscule : b[A-Z]*b > - un charactere entre simple quotes: b'.'b > > j'arrive a faire une regexp qui me remplace exactement ce les trucs > que je veux pas, mais pas le contraire :-s > > please help > > c'est urgent :-s > > merci d'avance > > -- > 105 116 039 115 032 110 111 116 032 097 > 032 098 117 103 044 032 105 116 039 115 > 032 097 032 102 101 097 116 117 114 101 > >
$chaine=~s/(.*?)('.'|[A-Z]*)(.*?)/$2/g;
(si j'ai bien compris ta question, ce qui n'est pas sûr : tes deux tirets veulent-ils dire "ou", et par quoi veux-tu remplacer...). Il reste à s'amuser avec le caractère entre tirets : que veux tu fair e de 'a'b'c'd' ?
David -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact .org
merci pour vos reponses, je vais preciser un peu plus la requete:
j'ai une chaine de cette forme la:
MOT 'a' MOT '+' QUELQUECHOSEDAUTRE '-' 42_mauvaisqqchose MOT '*' etc...
en gros c'est un parseur de code en C.
les mots en majuscule ont ete matche par le travail precedement effectue sur la chaine les characters entre simple quote ont aussi ete parses reste a eliminer le cas du : 42_mauvaisqqchose je partait donc du principe que dans ma chaine, je ne pouvais avoir que : des mots en majuscule ou des chars entre simple quote.
il me suffisait donc de remplacer tout ce qui n'etait pas de l'un de ces deux types par ERROR et arreter mon parsing....
et c'est la qu'interviens la regexp de remplacement qui match l'inverse de ce que je lui donne.
voila j'espere avoir ete assez clair cette fois ci :-)
On 3/7/06, David Prévot <davidp@altern.org> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Heyberger Ludovic a écrit :
> Salut a tous,
>
> je sais plus vers qui me tourner alors je vais vous exposer mon problem e :-)
>
> je cherche a faire une regexp qui ferait la chose suivante:
>
> remplacer dans une chaine de character, TOUT ce qui n'est PAS:
> - un mot en majuscule : b[A-Z]*b
> - un charactere entre simple quotes: b'.'b
>
> j'arrive a faire une regexp qui me remplace exactement ce les trucs
> que je veux pas, mais pas le contraire :-s
>
> please help
>
> c'est urgent :-s
>
> merci d'avance
>
> --
> 105 116 039 115 032 110 111 116 032 097
> 032 098 117 103 044 032 105 116 039 115
> 032 097 032 102 101 097 116 117 114 101
>
>
$chaine=~s/(.*?)('.'|[A-Z]*)(.*?)/$2/g;
(si j'ai bien compris ta question, ce qui n'est pas sûr : tes deux
tirets veulent-ils dire "ou", et par quoi veux-tu remplacer...).
Il reste à s'amuser avec le caractère entre tirets : que veux tu fair e
de 'a'b'c'd' ?
David
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian .org
merci pour vos reponses, je vais preciser un peu plus la requete:
j'ai une chaine de cette forme la:
MOT 'a' MOT '+' QUELQUECHOSEDAUTRE '-' 42_mauvaisqqchose MOT '*' etc...
en gros c'est un parseur de code en C.
les mots en majuscule ont ete matche par le travail precedement
effectue sur la chaine
les characters entre simple quote ont aussi ete parses
reste a eliminer le cas du : 42_mauvaisqqchose
je partait donc du principe que dans ma chaine, je ne pouvais avoir
que : des mots en majuscule ou des chars entre simple quote.
il me suffisait donc de remplacer tout ce qui n'etait pas de l'un de
ces deux types par ERROR et arreter mon parsing....
et c'est la qu'interviens la regexp de remplacement qui match
l'inverse de ce que je lui donne.
voila j'espere avoir ete assez clair cette fois ci :-)
Heyberger Ludovic a écrit : > Salut a tous, > > je sais plus vers qui me tourner alors je vais vous exposer mon problem e :-) > > je cherche a faire une regexp qui ferait la chose suivante: > > remplacer dans une chaine de character, TOUT ce qui n'est PAS: > - un mot en majuscule : b[A-Z]*b > - un charactere entre simple quotes: b'.'b > > j'arrive a faire une regexp qui me remplace exactement ce les trucs > que je veux pas, mais pas le contraire :-s > > please help > > c'est urgent :-s > > merci d'avance > > -- > 105 116 039 115 032 110 111 116 032 097 > 032 098 117 103 044 032 105 116 039 115 > 032 097 032 102 101 097 116 117 114 101 > >
$chaine=~s/(.*?)('.'|[A-Z]*)(.*?)/$2/g;
(si j'ai bien compris ta question, ce qui n'est pas sûr : tes deux tirets veulent-ils dire "ou", et par quoi veux-tu remplacer...). Il reste à s'amuser avec le caractère entre tirets : que veux tu fair e de 'a'b'c'd' ?
David -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact .org
merci pour vos reponses, je vais preciser un peu plus la requete:
j'ai une chaine de cette forme la:
MOT 'a' MOT '+' QUELQUECHOSEDAUTRE '-' 42_mauvaisqqchose MOT '*' etc...
en gros c'est un parseur de code en C.
les mots en majuscule ont ete matche par le travail precedement effectue sur la chaine les characters entre simple quote ont aussi ete parses reste a eliminer le cas du : 42_mauvaisqqchose je partait donc du principe que dans ma chaine, je ne pouvais avoir que : des mots en majuscule ou des chars entre simple quote.
il me suffisait donc de remplacer tout ce qui n'etait pas de l'un de ces deux types par ERROR et arreter mon parsing....
et c'est la qu'interviens la regexp de remplacement qui match l'inverse de ce que je lui donne.
voila j'espere avoir ete assez clair cette fois ci :-)