Учитывая отрывок текста, какJava регулярное выражение для извлечения текстовых последовательностей по нескольким строкам
Preface (optional, up to multiple lines)
Main : sequence1
sequence2
sequence3
sequence4
Epilogue (optional, up to multiple lines)
, который Java
регулярное выражение может быть использовано для извлечения всех последовательностей (т.е. sequence1
, sequence2
, sequence3
, sequence4
выше)? Например, цикл Matcher.find()
?
Каждой «последовательности» предшествует и может также содержать 0 или более белых пробелов (включая вкладки).
следующее регулярное выражение
(?m).*Main(?:[ |t]+:(?:[ |t]+(\S+)[\r\n])+
дает только первую последовательность (sequence1
).
Означает ли это, что вам нужно получить несколько матчей непробельных куски, которые имеют некоторые горизонтальные пробельные на последующих строках после 'Main:'? –
Используйте ['String p =" (? M) (?: \\ G (?! \\ A) [^ \\ S \ r \ n] + |^Main \\ s *: \\ s *) (\\ S +) \ r? \ N? ";'] (Https://regex101.com/r/P1od0v/1) –
Одно совпадение в строке. Ваше регулярное выражение работает, спасибо и +1. – PNS