2016-12-21 5 views
-1

Я ищу регулярное выражение A, чтобы я мог отделить блоки 3 (начало: «~ 0», конец: «~ конец»), а затем еще один параграф регулярного выражения разделяет блок по разделу (~ 0 ТЕКСТ, ~ 10 ТЕКСТ, ~ 11 ТЕКСТ), диапазон чисел от ~ 0 до ~ 11.Regex start to end

thx!

Мои Regex:

~\d{1,2} (.*?)\~end$  

~\d0 (.*?)\~end$ 

[\~1](.*)[\/end] 

Мой вход

~0 
    victor 
    ~10 
    aaaa 
    ~11 
    bbbb 
    ~end 

    ~0 
    juan 
    ~10 
    cccc 
    ~11 
    dddd 
    ~end 


    ~0 
    maria 
    ~10 
    eeee 
    ~11 
    fffffff 
    ~end 

мне нужно:

~0 
    victor 
    ~10 
    aaaa 
    ~11 
    bbbb 
    ~end 
~0 
    juan 
    ~10 
    cccc 
    ~11 
    dddd 
    ~end 
~0 
    maria 
    ~10 
    eeee 
    ~11 
    fffffff 
    ~end 

И следующий Regex:

триумфатор

аааа

BBBB

+0

Какой выход вы хотите? Или вам просто нужен каждый из этих разделов в соответствующих группах? На каком языке вы используете? –

+0

блоки:

 ~0 victor ~10 aaaa ~11 bbbb ~end
 ~0 juan ~10 cccc ~11 dddd ~end
 ~0 maria ~10 eeee ~11 fffffff ~end

+0

См. ['(? Ms)^~ 0. *? \ N ~ end'] (https://regex101.com/r/kR8Aj1/1). –

ответ

0

Чтобы получить все блоки в отдельных матчах:

Использование ~0.*?~end, с вариантами установить для глобальной и единой линии

Затем, чтобы получить все значения без пронумерованных тегов:

Поиск: ~.*\n (глобальный, но не однострочный)

Заменить: [ничего]

+0

~. * \ N не founf с multiline:/ –

+0

@VictorMoscosoLembcke: вы имеете в виду однострочный? Второй шаг (поиск/замена) не должен использовать однострочный. Я обновил ответ. –

+0

примеру ~ 0 yyyyyyyyyyy XXXXXXXX FFFFFFFFFF ~ 1 rrrrrrrrrrrr 24fdsg dsf45sdf ~ конец –

Смежные вопросы