I have to underline that I'm a complete newbie in scripting and grep styles...
I tried to do the apple script that rob day suggested me and it seems to work.
I also tried vinny38 grep expression but with no luck (and being a noob I have no idea why
).
Obi-wan Kenobi grep is almost perfect but it has a little problem: it puts the "[" sign before the first line instead to put it before the second one...
Am I missing something?
Can I ask you some link for a poor noob to learn how Grep styles expressions work?
Thanks in advance...
It works fine for me! [ Tested before I post it!
]
What I didn't say [obvious for me!] is that you need to include 2 "Nested line styles" in your para style to make this regex work! 
Try this:
/*
0138_Poetry2Lines_MichelAllio.jsx
Script written by Michel Allio [2017/04/03]
See: https://forums.adobe.com/thread/2298581 [ Poetry book text formatting ]
*/
app.doScript("main()", ScriptLanguage.javascript, undefined, UndoModes.ENTIRE_SCRIPT, "Poetry 2 Lines! …");
function main()
{
var myStories = app.activeDocument.stories.everyItem().getElements(),
S = myStories.length;
while (S--) {
var myParas = myStories.paragraphs.everyItem().getElements(),
P = myParas.length;
while (P--) if ( myParas
.appliedParagraphStyle.name == "myPStyle" && myParas
.lines.length > 1 ) myParas
.lines[1].contents = "\u0008\u0008\[ " + myParas
.lines[1].contents;
}
}
Just change myPStyle by your para style name!
(^/)