Forum: Rails France REGEX RUBY

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Saigon (Guest)
on 2008-10-13 16:49
(Received via mailing list)
Bonjour, je souhaiterais connaitre la méthode pour enlever les espaces
dans une phrase et les remplacer par un caractère arbitraire.

Par exemple :
colonne1    colonne2 colonne3

je voudrais avoir cela comme résultat :
colonne1;colonne2;colonne3

j'ai bien essayé un
String.gsub(/\s{1,}/, ";")

mais ca me donne ca en résultat
colonne1;;;;colonne2;colonne3;

en gros j'aimerais remplacer tous mes espaces par un point virgule
mais seulement à l'intérieur des lignes sans modifier le début et fin
de lignes (\r\n,...)

Merci de votre aide par avance.

Sai
Michel B. (Guest)
on 2008-10-13 16:56
(Received via mailing list)
Ta méthode me semble bonne sur le principe, mais elle n'a pas l'air
"greedy". De plus, {1,} c'est censé être la même chose que + en regexp
ruby.

Je viens d'essayer :
"colonne1    colonne2 colonne3".gsub(/\s+/, ';')

Et j'obtiens :
"colonne1;colonne2;colonne3"

Peut-être que la syntaxte à {} n'est pas greedy alors que le + l'est. En
tout cas essayer comme ça...

--
Michel B.
Saigon (Guest)
on 2008-10-13 17:12
(Received via mailing list)
Merci de ton aide.

En effet, fait comme ca le résultat attendu est correct.

C'est bizarre (enfin non c'est meme plutot logique...) parce-que moi
les lignes je les récupère à partir d'un fichier texte avec des
retours chariots (\n) en faisant :

f.gsub(/\s+/, "")
les espaces sont remplacé par les guillemets mais les retours a la
lignes sont supprimés => tout est collé
(f représente un fichier texte en local sur mon disque)

Ce que j'ai fait c'est de mettre mon gsub dans le block d'un each_line
=> regex ok + retour a la ligne comme dans l'original....

On 13 oct, 14:55, "Michel B." <removed_email_address@domain.invalid>
Michel B. (Guest)
on 2008-10-13 17:17
(Received via mailing list)
Non, ce n'est pas anormal. En regexp ruby, "\s" matche tout caractère
vide,
retour à la ligne et tabulation comprises. Si tu veux matcher seulement
des
espaces, tu peux faire / +/ tout simplement.
--
Michel B.
Saigon (Guest)
on 2008-10-13 17:22
(Received via mailing list)
...vraiment merci...c'est plus clair comme ça...

On 13 oct, 15:16, "Michel B." <removed_email_address@domain.invalid>
Jean-François Trân (Guest)
on 2008-10-13 17:49
(Received via mailing list)
Le 13 octobre 2008 14:55, Michel B. a écrit :

> Peut-être que la syntaxte à {} n'est pas greedy alors que le + l'est. En
> tout cas essayer comme ça...

* + {,} sont greedy ; dans tous les cas on rajoute ? pour que ce
soit non-greedy :

a*?
a+?
a{1,}?
a{2,3}?
...

    --- Jean-François.

--
Les 50 ans du Lisp : http://www.lisp50.org
http://twitter.com/underflow_
Michel B. (Guest)
on 2008-10-13 18:00
(Received via mailing list)
(et effectivement je viens de vérifier à la main, sans "?" c'est bien
greedy
par défaut ; je ne sais pas comment il a fait pour se retrouver avec
tous
ces ";" en trop du coup)

--
Michel B.
Jean-François Trân (Guest)
on 2008-10-13 18:10
(Received via mailing list)
Le 13 octobre 2008 15:59, Michel B. a écrit :
> (et effectivement je viens de vérifier à la main, sans "?" c'est bien greedy
> par défaut ; je ne sais pas comment il a fait pour se retrouver avec tous
> ces ";" en trop du coup)

Il y a parfois une différence entre ce que ceux qui posent une question
ont fait, et la manière dont ils expose le problème auquel ils sont
confronté :

je ne vois pas d'où sort le String.gsub

Du coup, on se méfie de ce qu'ils racontent...

    -- Jean-François.


--
Les 50 ans du Lisp : http://www.lisp50.org
http://twitter.com/underflow_
Michel B. (Guest)
on 2008-10-13 18:36
(Received via mailing list)
S'il faut se méfier des patients maintenant, dr. House...

--
Michel B.
ook? ook! (Guest)
on 2008-10-13 18:36
(Received via mailing list)
2008/10/13 Michel B. <removed_email_address@domain.invalid>

> S'il faut se méfier des patients maintenant, dr. House...
>
>
C'est un lupus.

Ok... ----> []
Jean-François Trân (Guest)
on 2008-10-13 18:38
(Received via mailing list)
Le 13 octobre 2008 16:23, Michel B. a écrit :
> S'il faut se méfier des patients maintenant, dr. House...

Jamais vu Dr House, ni Grey's Anatomy d'ailleurs... je rate quelque
chose ? J'aimais bien les premières saisons d'Urgences, mais je
me suis
lassé.
Sinon l'analogie avec les patients n'est pas acceptable àmha.
Un docteur, s'il peut écouter ce que dit un patient, va surtout
pouvoir ausculter, palper le patient pour vérifier par lui-même,
alors que là les informations plus ou moins parcellaires, plus
ou moins complètes, plus ou moins exactes, avec ou sans
code (ici la seule ligne de code est fausse !) proviennent de l'OP.

    -- Jean-François.

--
Les 50 ans du Lisp : http://www.lisp50.org
http://twitter.com/underflow_
Michel B. (Guest)
on 2008-10-13 18:50
(Received via mailing list)
Le 13 octobre 2008 16:38, Jean-François Trân 
<removed_email_address@domain.invalid> a
écrit
:

> Jamais vu Dr House, ni Grey's Anatomy d'ailleurs... je rate quelque
> chose ? J'aimais bien les premières saisons d'Urgences, mais je
> me suis lassé.


Dr House c'est sympa, un peu répétitif mais amusant avec de bons
dialogues
bien caustiques. C'est moins une série médicale qu'une série policière,
et
il y a beaucoup de clins d'oeil aux classiques du genre (dont l'oeuvre
de
Conan Doyle). Rien à voir avec Urgences dans tous les cas (les séries
médicales en général me barbent).

--
Michel B.
ook? ook! (Guest)
on 2008-10-13 19:14
(Received via mailing list)
2008/10/13 Michel B. <removed_email_address@domain.invalid>

>
> Dr House c'est sympa, un peu répétitif mais amusant avec de bons dialogues
> bien caustiques. C'est moins une série médicale qu'une série policière, et
> il y a beaucoup de clins d'oeil aux classiques du genre (dont l'oeuvre de
> Conan Doyle). Rien à voir avec Urgences dans tous les cas (les séries
> médicales en général me barbent).
>

Je ne partage pas tout à fait ton avis, Michel. House MD est un peu plus
réaliste qu'ER pour ce qui est des diagnostiques. Ce qui est
surréalistes,
c'est de voir les médecins faire eux-mêmes les prises de sang et les
analyses :)

Par contre c'est presque insupportable de regarder cette série avec un
membre du corps médical à coté de soi: sauf les cas absoluments
saugrenus,
ma femme trouve sovuent le bon diagnostique avant House :)

Pour Jean-François, dans le cas de la série House, le parallèle est
valable:
ce médecin refuse quasi systématiquement de rencontrer le patient,
justement
pour ne pas être "parasité" par les mensonges ou l'environnement du
patient,
et se contenter des faits relevé par son équipe. Tu devrais jeter un
oeil
aux 3 premiers épisodes de la saison 1, ça vaut le détour.

Qui a dit Hors-Sujet? :)
Guillaume B. (Guest)
on 2008-10-13 19:17
(Received via mailing list)
<gros HS>

Jamais vu Dr House, ni Grey's Anatomy d'ailleurs... je rate quelque
> chose ? J'aimais bien les premières saisons d'Urgences, mais je
> me suis lassé.


En ce qui concerne Dr House :

Points commun avec urgences :
- omniprésence de la technique médicale
- personnages attachants qu'on suit tout au long des épisodes
- bonne série Ricaine ou tout est léché : acteurs, réalisation, photo
etc.

Points divergents :
- il y a UN héro (le Dr House, qui se trouve être un conard fini mais
bon,
c'est le charme de la série)
- le thème est différent (il n'y a plus vraiment d'urgences, il y a
plutot
des cas complètement tordus que seul le Dr House est assez intelligent
pour
élucider)

Bref c'est une bonne série, comme en ce moment il y en a un paquet (et
Grey's Anatomy a l'air d'être du meme topo).

Et pour ceux qui veulent un série médicale mais bien décalée et très
rigolote, je ne peux que conseiller Scrubs (((-:

</gros HS>


--
Pour la santé de votre ordinateur, préférez les logiciels libres.
Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/
Browser le web : http://www.mozilla-europe.org/fr/products/firefox/
Suite bureautique : http://fr.openoffice.org/
Michel B. (Guest)
on 2008-10-13 19:22
(Received via mailing list)
>
> Je ne partage pas tout à fait ton avis, Michel. House MD est un peu plus
> réaliste qu'ER pour ce qui est des diagnostiques. Ce qui est surréalistes,
> c'est de voir les médecins faire eux-mêmes les prises de sang et les
> analyses :)
>

Heu, je ne croyais pas avoir parlé du réalisme (qui pour moi est
complètement accessoire d'ailleurs, je ne regarde pas la série pour
prendre
des cours de médecine non plus)...


> Par contre c'est presque insupportable de regarder cette série avec un
> membre du corps médical à coté de soi: sauf les cas absoluments saugrenus,
> ma femme trouve sovuent le bon diagnostique avant House :)
>

Sauf si comme pour moi l'attrait de la série ne repose pas vraiment sur
le
diagnostique mais plus pour les situations dans lesquelles les
personnages
vont évoluer. Le diagnostique n'est plus alors qu'un genre de prétexte
pour
présenter l'histoire des personnages et les dialogues, ce que j'apprécie
dans cette série. En fait, j'aimerais bien voir House avec un membre du
corps médical (qui ait le sens de l'humour) pour ma part, pour ironiser
sur
les trucs un peu gros...

Qui a dit Hors-Sujet? :)
>

Bah, en même temps c'était une question sur les regexp. On peut tout
faire
avec des regexp v^^v.

--
Michel B.
Jean-François Trân (Guest)
on 2008-10-13 20:11
(Received via mailing list)
Le 13 octobre 2008 17:13, ook? ook! a écrit :

> Pour Jean-François, dans le cas de la série House,
> le parallèle est valable:
> ce médecin refuse

Ah mais c'est pas qu'on refuse, c'est que c'est pas
forcément possible, si un Niçois pose une question,
on va pas se déplacer chez lui pour régler le problème.
C'est de la communication à distance.

Un cas analogue serait plutôt un médecin qui
fait des consultations en répondant à des mails de patients,
ce qui n'est pas trop la vocation d'un médecin...

> quasi systématiquement de rencontrer le patient,
> justement pour ne pas être "parasité" par les mensonges
> ou l'environnement du patient,

ah mais je veux bien me fier aux infos filées par l'OP,
c'est soit il ne donne pas suffisamment d'infos sur le contexte
pour qu'on puisse répondre à la question, soit il ne fournit
pas le Code Minimal Pour Reproduire le Problème (CMPRP),
soit on n'a pas le message d'erreur.

Si on pouvait être derrière la chaise de l'OP, on pourrait
voir facilement : l'OS utilisé, le SGBDR utilisé (là il y a quelqu'un
qui a parlé d'autoincrement, donc on *devine* qu'il utilise MySQL,
mais s'il le disait directement, on perdrait moins de temps à jouer
aux devinettes), prendre le clavier pour vérifier la version
de Ruby et de Rails *ET* pouvoir voir le code.

Des fois on a des infos sur le contexte, mais en fait on s'en fout
"Ouais alors j'ai 19 ans, je viens d'avoir mon Bac, je fais une
appli Rails pour ma soeur, j'aime bien Tony Parker blablabla..."
Super. Il est où le CMPRP ?

> et se contenter des faits relevé par son équipe.

Je ne sais pas pour vous, mais moi j'ai pas d'équipe qui va
tirer les vers du nez de l'OP.

C'est juste que parfois, après avoir lu le laius exposant
le problème, on ne sait toujours pas le nom exact des
modèles, les relations (bon alors, c'est un has_many ?)
et qu'il faut jouer aux devinettes, ça peut être agaçant.

Inversement, si on a le code mais il est parasité par pleins
de détails dont on a que faire car ils sont sans rapport
avec le pb, (bref si on a pas le CMPRP :-) ) ça peut
indisposer aussi.

> Tu devrais jeter un oeil aux 3 premiers épisodes de la
> saison 1, ça vaut le détour.

Ben j'essaierai de voir en entier un épisode qui passe à
la télé.

De toutes façons, j'ai mis pas mal d'années avant de m'intéresser
à 24 heures. Alors...

   -- Jean-François.


PS. Sinon comme série médicale US sans prétentions, j'aime
NIH Alertes Médicales, un peu comme Dr House, ça se
rapproche plus de l'enquête policière (quelle est l'origine de
cette épidémie soudaine ?) + crédibilité scientifique à la "Les Experts",
très contemporaine dans cette époque post-11 septembre
où plane une paranoïa sanitaire (anthrax, SRAS, H5N1...)

--
Les 50 ans du Lisp : http://www.lisp50.org
http://twitter.com/underflow_
Michel B. (Guest)
on 2008-10-13 20:21
(Received via mailing list)
(tout ça pour un petit clin d'oeil à l'origine sans prétention sur une
série
télé...)


>
> PS. Sinon comme série médicale US sans prétentions, j'aime
> NIH Alertes Médicales, un peu comme Dr House, ça se
> rapproche plus de l'enquête policière (quelle est l'origine de
> cette épidémie soudaine ?) + crédibilité scientifique à la "Les Experts",
> très contemporaine dans cette époque post-11 septembre
> où plane une paranoïa sanitaire (anthrax, SRAS, H5N1...)
>

Dans le même genre, un truc canadien très sympa (et cette fois
intéressant
aussi du point de vue scientifique) : ReGenesis.
Les 2 premières saisons sont déjà passées sur Arte l'année dernière.

--
Michel B.
Jean-François Trân (Guest)
on 2008-10-13 20:22
(Received via mailing list)
Le 13 octobre 2008 17:22, Michel B. a écrit :

> les trucs un peu gros...
Un peu comme pour moi (nous ?) qui regarde comment l'informatique
est utilisée dans les séries télé ou les films. Qui se souvient des
Petits Génies ou le film Wargames dans les années 80. Aahh le
"Il faut prévenir les gens d'Internet" de Scully dans X-Files... Le
geek dans Jurassic Park.

  -- Jean-François (diagnostic)

--
Les 50 ans du Lisp : http://www.lisp50.org
http://twitter.com/underflow_
Michel B. (Guest)
on 2008-10-13 20:38
(Received via mailing list)
> Un peu comme pour moi (nous ?) qui regarde comment l'informatique
> est utilisée dans les séries télé ou les films.


Vi ^^


--
Michel B.
Thibaut B. (Guest)
on 2008-10-14 11:41
(Received via mailing list)
Tant qu'à faire du off-topic (quoique) - jetez un oeil à la série the
IT Crowd:

http://video.google.com/videoplay?docid=4174391869357140840

Deux geeks se chargent du support informatique d'une boite - british
et très drôle.

Thibaut
--
http://evolvingworker.com
Michel B. (Guest)
on 2008-10-14 11:42
(Received via mailing list)
The IT crowd, on m'en a beaucoup parlé en très bien. Il faut vraiment
que je
m'y mette...

--
Michel B.
Saigon (Guest)
on 2008-10-14 16:37
(Received via mailing list)
J'vois que mon topic est parti un peu dans les séries TV, perso j'aime
bien Dexter et The Shield...

Et pour en revenir au topic, j'aimerais connaitre votre avis sur ma
problématique, admettons une chaine :
colonne1  colonne2 colonne3    colonne4    col lonne5

Est il possible de remplacer les espaces par un point-virgule mais de
laisser cet espace en col et lonne5 :
colonne1;colonne2;colonne3;colonne4;col lonne5

le "col lonne5" peut tres bien etre en début, milieu ou fin de
chaine...

j'ai essayé mais je ne pense pas que ce soit possible...

Merci par avance...

On 14 oct, 09:42, "Michel B." <removed_email_address@domain.invalid>
Michel B. (Guest)
on 2008-10-14 16:43
(Received via mailing list)
Oui, avec une regexp plus compliquée, et à condition que tu aies un
critère
pour distinguer un espace à remplacer d'un espace à conserver tel quel.

--
Michel B.
Saigon (Guest)
on 2008-10-14 16:57
(Received via mailing list)
Un pattern comme exemple stp ? et qu'entends-tu par un crtière pour
distinguer un espace à remplacer d'un espace a conserver tel quel ?
En fait, en pratique c'est la date et l'heure xx/xx/xxxx xx:xx:xx...

On 14 oct, 14:42, "Michel B." <removed_email_address@domain.invalid>
Thibaut B. (Guest)
on 2008-10-14 17:10
(Received via mailing list)
> En fait, en pratique c'est la date et l'heure xx/xx/xxxx xx:xx:xx...

Si tu veux avoir des réponses bien adaptées, il serait souhaitable que
tu donnes des données réelles ou proche des vraies car le problème
devient ici tout à fait différent, et les solutions aussi...

Connais-tu rubular (http://www.rubular.com/) ? Tu pourrais t'en servir
pour tester tes patterns et trouver plus facilement la réponse à tes
questions.

cheers

Thibaut
--
http://evolvingworker.com
Michel B. (Guest)
on 2008-10-14 17:13
(Received via mailing list)
Difficile de te faire un exemple tant que je ne sais pas ce que tu
recherches. Mettons que tu aies une liste QUE de date/heure TOUTES sous
le
format :
xx/xx/xxxx xx:xx:xx

Alors tu pourrais faire :
ta_chaine.gsub(/((?:[0-9]{2}\:){2}[0-9]{2})\s+((?:[0-9]{2}\/){2}[0-9]{4})/g,
'$1,$2;')

Pour te la décomposer avec ça, tu cherches tout ce qui est comme ça :
xx:xx:xx xx/xx/xxxx
(où "x" est un nombre de 0-9 et " " un certain nombre d'espaces
,tabulations
et saut de ligne compris)
ET tu remplace par :
le premier groupe capturé (xx:xx:xx) suivi d'un ";" suivi du deuxième
groupe
capturé (xx/xx/xxxx)

Maintenant, si tu veux faire des étincelles avec les regexp, je te
recommande la lecture de cet excellent site :
http://www.regular-expressions.info

Une fois que tu aura lu ça, tu verra ça ira beaucoup mieux, et tu te
mettras
à faire plein de trucs de oufs en regexp...

--
Michel B.
Thibaut B. (Guest)
on 2008-10-14 17:21
(Received via mailing list)
Tu peux aussi lire Beginning Regular
Expressions<http://www.amazon.fr/exec/obidos/ASIN/0764574892/l...
Mastering
Regular Expressions </>, c'est selon.
-- Thibaut
Thibaut B. (Guest)
on 2008-10-14 17:25
(Received via mailing list)
Tu peux aussi lire Beginning Regular Expressions (http://tinyurl.com/
3nq2xf) ou Mastering Regular Expressions (http://tinyurl.com/42rk88),
c'est selon.

-- Thibaut
Thibaut B. (Guest)
on 2008-10-14 17:27
(Received via mailing list)
Tu peux aussi lire Beginning Regular Expressions
http://tinyurl.com/3nq2xf
ou Mastering Regular Expressions http://tinyurl.com/42rk88 , c'est
selon.

-- Thibaut
Gregoire LEJEUNE (Guest)
on 2008-10-14 17:52
(Received via mailing list)
Oui, mais bon en fait faut pas trop rêver quand même <phrase du
jour>les expressions rationnelles ont aussi une limite</phrase du
jour>. Si ta "col lonne5" peut contenir tout et n'importe quoi (\s
compris) et que les autres colonnes ont systématiquement \s comme
séparateur, alors il n'y a pas de solution générique. En fait avant de
lire tous les livres qui ont été écrits sur les expressions
rationnelles ou de t'arracher les cheveux sur rubular, la première
question serait de savoir d'où proviennent ces données que tu cherches
à reformater. En effet, elles n'ont pas l'air très "belles". Mais cela
peut-il changer ?

Good luck !

Greg

Le 14 octobre 2008 15:26, Thibaut Barrère <removed_email_address@domain.invalid> 
a
écrit :
Jean-François Trân (Guest)
on 2008-10-14 17:53
(Received via mailing list)
Le 14 octobre 2008 15:11, Michel B. a écrit :
> Difficile de te faire un exemple tant que je ne sais pas ce que tu
> recherches. Mettons que tu aies une liste QUE de date/heure TOUTES sous le
> format :
> xx/xx/xxxx xx:xx:xx
>
> Alors tu pourrais faire :
> ta_chaine.gsub(/((?:[0-9]{2}\:){2}[0-9]{2})\s+((?:[0-9]{2}\/){2}[0-9]{4})/g,
> '$1,$2;')

avec \d à la place de [0-9], ce serait plus lisible.

Sinon c'est quoi l'option g ?

'$1,$2;'  --> '\1,\2;'

   -- Jean-François.

--
Les 50 ans du Lisp : http://www.lisp50.org
http://twitter.com/underflow_
Jean-François Trân (Guest)
on 2008-10-14 18:03
(Received via mailing list)
Le 14 octobre 2008 15:51, Gregoire LEJEUNE a écrit :

> Oui, mais bon en fait faut pas trop rêver quand même <phrase du
> jour>les expressions rationnelles ont aussi une limite</phrase du
> jour>. Si ta "col lonne5" peut contenir tout et n'importe quoi (\s
> compris) et que les autres colonnes ont systématiquement \s comme
> séparateur, alors il n'y a pas de solution générique.

ça dépend, si on sait que ça arrive toujours à la 5e colonne (ce n'est
pas le cas ici), on aurait pu faire str.split(/\s+/, 5).join ';'

    -- Jean-François.

--
Les 50 ans du Lisp : http://www.lisp50.org
http://twitter.com/underflow_
Jean-François Trân (Guest)
on 2008-10-14 18:17
(Received via mailing list)
Le 14 octobre 2008 14:36, Saigon a écrit :
>
> J'vois que mon topic est parti un peu dans les séries TV, perso j'aime
> bien Dexter et The Shield...

Ouais c'est du highjack threading, on aurait dû changer de Subject.
Mes excuses.

   -- Jean-François.

--
Les 50 ans du Lisp : http://www.lisp50.org
http://twitter.com/underflow_
Gregoire LEJEUNE (Guest)
on 2008-10-14 20:34
(Received via mailing list)
Oui, en effet, et si en plus on sait que dans la "col lonne5" il y a
toujours le mot "col lonne5" ça le fait aussi. Où si ce n'est pas
toujours "col lonne5" mais toujours un mot genre "quelquechosel
lautrechose" ça peut le faire (bien que cela ne soit pas evident sauf
si c'est TOUJOURS le cas. Il y a aussi la possibilité que l'espace (ou
tout autre \s) ne soit que dans la "col lonne5", mais qu'il soit
systématique... Bref plein d'exceptions qui peuvent faire que cela
fonctionne... Mais bon !

Greg

Le 14 octobre 2008 16:02, Jean-François Trân 
<removed_email_address@domain.invalid> a écrit :
Jean-Baptiste BARTH (Guest)
on 2008-10-14 21:30
(Received via mailing list)
Jean-François Trân a écrit :
>>
>
> avec \d à la place de [0-9], ce serait plus lisible.
>
> Sinon c'est quoi l'option g ?
>
> '$1,$2;'  --> '\1,\2;'
>
>    -- Jean-François.
>

@Michel: Je ne sais pas si le ":" doit être échappé ni si la regex est
très optimale, mais je crois que ce n'est pas la discussion ;-)

@Jean-François: Pour le _modifier_ "g", c'est "global" en Perl et autres
langages PCRE, et ça dit au moteur de regex de ne pas "s'arrêter" au
premier match qu'il trouve. En Ruby je crois que c'est le comportement
par défaut.

@Thibaut: Pour le bouquin "Mastering regular expressions", j'approuve,
c'est un excellent livre, très complet et en plus agréable à lire pour
ceux que les regex intéressent. Il existe en français également, mais
vus les déboires d'Oreilly Fr il est peut être difficile à trouver...

--
Jean-Baptiste
Jean-François Trân (Guest)
on 2008-10-14 22:03
(Received via mailing list)
Le 14 octobre 2008 18:33, Gregoire a écrit :

> Oui, en effet, et si en plus on sait que dans la "col lonne5" il y a
> toujours le mot "col lonne5" ça le fait aussi. Où si ce n'est pas
> toujours "col lonne5" mais toujours un mot genre "quelquechosel
> lautrechose" ça peut le faire (bien que cela ne soit pas evident sauf
> si c'est TOUJOURS le cas. Il y a aussi la possibilité que l'espace (ou
> tout autre \s) ne soit que dans la "col lonne5", mais qu'il soit
> systématique... Bref plein d'exceptions qui peuvent faire que cela
> fonctionne... Mais bon !

Et "mercredi 22 octobre" ça matche ou pas ?

    -- Jean-François.

--
Les 50 ans du Lisp : http://www.lisp50.org
http://twitter.com/underflow_
Jean-François Trân (Guest)
on 2008-10-14 22:09
(Received via mailing list)
Le 14 octobre 2008 19:29, Jean-Baptiste a écrit :

> @Jean-François: Pour le _modifier_ "g", c'est "global" en Perl
> et autres langages PCRE, et ça dit au moteur de regex de ne
> pas "s'arrêter" au premier match qu'il trouve. En Ruby je crois
> que c'est le comportement par défaut.

Ce n'est pas une question de défaut ou pas. Tu utilises #gsub
ou #sub selon. Moi je parle d'une option g pour les objets Regexp.
Pour moi, ça n'existe pas, à moins qu'on me prouve le contraire.

$ irb
>> /a/g
SyntaxError: compile error
(irb):1: unknown regexp option - g
        from (irb):1
>>

Il y a les options i m x (ignorecase, extended, multiline) et
pour 1.8, e n s u pour les histoires d'encodage, mais pas de g.

   -- Jean-François.

--
Les 50 ans du Lisp : http://www.lisp50.org

http://twitter.com/underflow_
Michel B. (Guest)
on 2008-10-14 22:23
(Received via mailing list)
Oui, bon, y'a pas d'option "g", mea culpa c'est parce que je fais
beaucoup
de regexp JavaScript ces temps-ci. Ok aussi pour le \d.

De toute façon cette regexp je l'ai vite pondue pour lui donner un
exemple
rapide et pour lui donner envie d'en savoir plus sur les regexp plutôt
que
de toujours demander à qui sait les faire de faire le boulot à sa place
et
d'en rester dépendant. Et puis ça ne fait de mal à personne d'essayer et
bidouiller autour en utilisant son cerveau plutôt que de se contenter
d'un
copier-coller.

--
Michel B.
Jean-Baptiste BARTH (Guest)
on 2008-10-14 22:36
(Received via mailing list)
Jean-François Trân a écrit :
>
> Ce n'est pas une question de défaut ou pas. Tu utilises #gsub
> ou #sub selon. Moi je parle d'une option g pour les objets Regexp.
> Pour moi, ça n'existe pas, à moins qu'on me prouve le contraire.
>
Yep, je m'exprimais pour les autres langages que je connais, c'est
sûrement plus juste de dire que "ça n'existe pas" ... en Ruby.
Pour être honnête, je me doutais que le "g" de "gsub" avait quelque
chose à voir, mais je ne connaissais même pas "sub" tellement ça m'a
servi souvent.


--
Jean-Baptiste
This topic is locked and can not be replied to.