1

2

qqchose mais pas un point:
[^\.]

espace
\s

fin de ligne
\n

a remplacer par espace je suppose
donc sous vim un truc du genre

s/[^\.]\s\n/ /g

j'ai bon? (m'étonnerait grin)

3

ouais, c'est pas mal smile
Sauf que là tu vires le saut de ligne et le dernier caractère avant l'espace avant fin de ligne, si c'est pas un point, et c'est tout.

J'aurais plutôt dit :
s/[^|\n][^\.]*\s\n/\n/g

En beaucoup plus simple, avec egrep :
cat file | egrep -v "\. $"



Attention par contre aux \t, est-ce que tu dois les garder ou pas ? Y'a aussi le cas de l'espace insécable, mais je suis pas convaincu qu'il faille en parler wink
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

4

5

\t c'est une tabulation. Par contre moi aussi j'ai quelques questions : pourquoi mettez-vous \s au lieu d'un simple espace (ça remplace d'autres caractères, genre espace insécable ?), et pourquoi backslashez-vous un . qui est dans des [] ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

6

\s : Indique un espace blanc (correspond à \t \n \r)

. : ca veut dire "n'importe quel caractere"... donc faut le backslasher pour dire juste "point"

Ancien pseudo : lolo

7

ok donc \s c'est [[:space:]] en gros, d'où la question : quel intérêt ici, sachant qu'il me semble qu'il a parlé juste d'espaces ? (ou alors j'ai mal compris le problème)

sinon pour le point, je sais (c'est bien ac toi j'ai systématiquement l'impression de passer pr un con quand je pose une question grin), mais justement dans un [] il n'est pas utile de le backslasher il me semble : il ne peut pas vouloir dire "n'importe quel caractère", sans quoi on aurait pas pris la peine de mettre des [] hehe

(histoire d'en avoir le coeur net, je viens de vérifier, grep me donne raison)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

8

histoire de préciser, je connaissais pas :space: donc j'ai mis \s en sachant que c'est trop vaste.

9

Zephyr (./7) :

sinon pour le point, je sais (c'est bien ac toi j'ai systématiquement l'impression de passer pr un con quand je pose une question biggrin.gif ), mais justement dans un [] il n'est pas utile de le backslasher il me semble : il ne peut pas vouloir dire "n'importe quel caractère", sans quoi on aurait pas pris la peine de mettre des [] hehe.gif


par habitude ? tongue
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

10

squalyl (./8) :
histoire de préciser, je connaissais pas :space: donc j'ai mis \s en sachant que c'est trop vaste.

Bah en fait c'est pareil wink

\s => classe d'espaces (" ", \t, \n, \r, etc...) version compatible regexp perl
[[:space:]] => la même compatible posix wink
Mon site perso : http://www.xwing.info

11

et pour coder le caractère numéro 32 on fait comment?

12

bah on met un(e ?) espace dans la regexp
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

13

14

Martial Demolins (./13) :
Formidable!
Bon, au final, ça donne quoi pour mon cas? biggrin.gif

Je comprends ta solitude, ils m'ont fait la même il y a trois ans (sauf qu'en plus il y a Pollux) grin
avatar

15

Martial, tu remplaces "(([^.]) \n)" par "\2 ".
avatar

16

et ton "\2 " il fait quoi ?!
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

17

Il met ce qu'il y a entre les secondes parenthèses smile
avatar

18

19

j'ai pas du comprendre ce qu'il voulait alors cheeky
avatar
Il n'a pas de mots
Décrire son mépris
Perdre les rênes
Il a perdu la foi

20

Zephyr (./12) :
bah on met un(e ?) espace dans la regexp
une smile
avatar

21

Merci de sauter les pieds devant dans un troll déjà abordé 100 fois sur yAronet... :/
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

22

grin
avatar

23

24

Zephyr (./7) :
sinon pour le point, je sais (c'est bien ac toi j'ai systématiquement l'impression de passer pr un con quand je pose une question biggrin.gif ), mais justement dans un [] il n'est pas utile de le backslasher il me semble : il ne peut pas vouloir dire "n'importe quel caractère", sans quoi on aurait pas pris la peine de mettre des [] hehe.gif


ze voulais pas, désolé.... sick sick sick

par contre, j'étais sur qu'il fallait le backslasher, le point... zut alors, me suis toujours fait chier pour rien !
Ancien pseudo : lolo

25

le plus gros problème si tu backslashe le point dans des crochets, c'est que du coup ça matche à la fois \ et . ^^
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

26

heu, non. en fait, tu peux blackslasher le point ca n'a pas d'importance. pour que le \ soit matché, il faut le backslasher :

[n] va détecter les n
[.] va détecter les .
[\n] va détecter les retours à la ligne
[\.] va détecter les .
[\n] va détecter les n et les \
[\.] va détecter les . et les \

c'est fourbe ces bestioles smile
Ancien pseudo : lolo

27

$ echo '.' | grep '[\.]'
.
$ echo '\' | grep '[\.]'
\
$ echo '.' | sed 's/[\.]/match!/'
match!
$ echo '\' | sed 's/[\.]/match!/'
match!

hehe

[edit] oh et btw, de la même façon [\n] va matcher le caractère '\' ou le caractère 'n'. Mais peut-être que tu as utilisé un environnement qui traduit "\n" en retour à la ligne avant de le traiter en tant que regexp, d'où la confusion, mais si "\n" arrive tel quel dans les [], il ne sera pas considéré comme un retour à la ligne.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

28

zarb car chez moi oui... j'ai fais les tests ./26 et ca m'a donné les résultats que j'ai annoncé... ca dépendrait du moteur ? ca serait encore plus fourbe !
Ancien pseudo : lolo

29

ca peut dépendre du shell?

Enfin les expressions régulières sont à chaque fois différente, que ce soit pour vi emacs etc...

30

JackosKing (./29) :
ca peut dépendre du shell?

Du shell non, puisque la norme impose un comportement identique au moins pour les exemples que j'ai donnés en ./27. Par contre on peut envisager un comportement différent de la part de grep et sed, mais j'avoue avoir un peu de mal à y croire sur des cas de test aussi basiques :/

[edit] Ah j'y pense, je ne sais pas avec quoi tu fais tes tests, mais les fonctions preg_machin de PHP prennent quelques libertés par rapport au standard, il me semble... ça pourrait expliquer la différence.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)