Получить случайный текст между двумя регулярными выражениями - PullRequest
1 голос
/ 08 апреля 2011

У меня есть файл соскобленных постов, который выглядит следующим образом:

1 Name: foo

Hello, my name is foo.

2 Name: bar

Hello.
Multi
line
post.

3 Name: foo

Hello, bar!

Я могу написать регулярное выражение, которое будет соответствовать только заголовкам (потому что у них есть некоторый HTML, который не разрешен в постах).

Как получить случайный пост из этого файла?Просто текст, без имен или тому подобное.

РЕДАКТИРОВАТЬ: обратите внимание, что некоторые номера сообщений могут отсутствовать.

1 Ответ

0 голосов
/ 08 апреля 2011

Если у вас есть Ruby (1.9 +)

$ ruby -0777 -ne 'a=$_.split(/\d+\sName:.*/);puts a.reject(&:empty?).shuffle.first' file


Hello, my name is foo.

$ ruby -0777 -ne 'a=$_.split(/\d+\sName:.*/);puts a.reject(&:empty?).shuffle.first' file


Hello, bar!
...