Test page for matching #text nodes
Some title
Some Author
Some year
Some description
Another Title
Another Author
Another year
Another description
(note that there is a comment between 'Another' and 'Author' above, and
also in the title).
This means tat we have two #text nodes to catch
Complex Title
Simple Author
Another complex year
Another description
in two lines
(Note that there are italics tags around the word 'complex').
A very Complex Title
Simple Author
Another very complex year
Another description
in multiple lines,
three of them
(Note that there are italics/underline tags around the words 'very' and 'complex').
This pattern catches most of the problems:
B $title :
BR : #text + $author :
BR : ( #text $year | I $year | u $year ) + :
( BR : #text $desc ) + :
P
The + in the $author gets over the comment in between
The repeating group handles any italics or underlines in the year.
The group for $desc handles the multiline stuff. It could also be BR : ( #text | BR )+