Извините, я не увидел, что вы ответили.
Возможно, можно написать несколько выражений, покрывающих различные варианты, но я не уверен. В проекте, над которым я работал, было несколько разных элементов, прерывающих \wj
Для маркера \wj, прерываемого стихами, я использовал следующее регулярное выражение:
(\\wj [^\\]+)(\r\n\\v \d+(-\d+)? )
Строка замены
\1\\wj*\2\\wj
В строке замены после \\wj есть пробел в конце.
По сути, оно ищет текст, не являющийся маркером, за которым следует маркер стиха, а затем закрывает \wj перед маркером стиха и открывает его после.
Также, если я правильно помню, при выполнении замены всех вхождений нужно запускать это несколько раз.
BEH
Sorry, I didn’t see that you had replied.
It might be possible to write several that cover the possibilities, not sure. In the project I was working on, there were several different things breaking up the \wj
For a \wj marker that was broken up by verses, the regular expression I used was
(\\wj [^\\]+)(\r\n\\v \d+(-\d+)? )
Replacement string
\1\\wj*\2\\wj
In the replacement string, there is a final space after the \\wj
Basically, it searches for non marker text, followed by a verse marker, and then closes the \wj before the verse marker, and reopens after.
Also, if I recall correctly, if doing a replace all, you have to rerun this multiple times.
BEH
Переведено машиной с языка English