J'ai quelques problèmes avec les expressions régulières dans ruby. Je dois classer certains fichiers qui ont la première ligne suivie par deux nouvelles lignes, comme dans cet exemple:Marquage de texte automatique par expressions régulières. Newlines problème
GIOVIANA
Si scrivono miliardi di poesie
sulla terra ma in Giove è ben diverso.
Neppure una se ne scrive. E certo
la scienza dei gioviani è altra cosa.
Che cosa sia non si sa. È assodato
che la parola uomo lassù desta
ilarità.
Les lignes vides peuvent se produire dans d'autres positions du fichier ainsi que des doubles lignes vides. J'ai essayé l'expression rationnelle suivante (et beaucoup d'autres)
/\A.*\n\n/
mais je n'obtiens pas le résultat souhaité.
Je vais aussi vous expliquer tout mon projet, au cas où quelqu'un aurait une meilleure idée de la façon de le faire. J'ai besoin de baliser automatiquement les structures textuelles dans un texte simple. Je peux le faire assez bien avec des expressions régulières pour identifier les lignes, les phrases, etc., mais je ne peux pas dire à mon programme ceci:
si la première ligne est suivie par deux newlines c'est une tuile, alors marquez-la avec le balisage du titre et continuez sur la troisième ligne si la première ligne n'est pas suivie de deux nouvelles lignes, alors le poème n'a pas de titre, baliser la première ligne comme un titre, puis baliser tout le poème (y compris la première ligne)
dans le premier cas, le résultat souhaité est
[poem}[title}GIOVIANA{title]
[line}[sentence}Si scrivono miliardi di poesie{line]
[line}sulla terra ma in Giove è ben diverso.{sentence]{line]
[line}[sentence}Neppure una se ne scrive.{sentence][sentence} E certo{line]
[line}la scienza dei gioviani è altra cosa.{sentence]{line]
[line}[sentence}Che cosa sia non si sa.{sentence] [sentence}È assodato{line]
[line}che la parola uomo lassù desta{line]
[line}ilarità.{sentence]{line]
{poem]
dans un poème sans titre comme
Ora sia il tuo passo
più cauto: a un tiro di sasso
di qui ti si prepara
una più rara scena.
le résultat souhaité est
[poem}[title}[line}[sentence}Ora sia il tuo passo{line]{title]
[line}più cauto: a un tiro di sasso{line]
[line}di qui ti si prepara{line]
[line}una più rara scena.{line]{sentence]{poem]
Merci
pour répondre à ma première partie de la question, j'étais forgettin \ r, de sorte que le regexp /\A.*\r\n\r\n/ fait le travail> | –