2016-07-31 4 views
-1

У меня есть некоторые строки в следующем формате:Текста между hypen блоком

Foo - Foo Bar - Test Test - Foo 
Test - Foo - Bar - Foo 

Я хотел бы получить весь текст между вторым и третьим появлением -, в том числе первого дефиса и пространства перед второй дефис, но не второй дефис.

Для двух примеров, которые соответствовали бы следующим образом (я заменил пробелы с _ разъяснений):

-_Test_Test_ 
-_Bar_ 
+0

@ rock321987 Я пробовал '^ (?: [^ -] * -) {2} ([^ -] *)', но не включает в себя первый дефис – JCarter

+0

язык, который вы используете? – rock321987

+0

Используйте ['^ [^ -] + - [^ -] + (- [^ -] *)'] (https://regex101.com/r/hA5wT3/1). –

ответ

0

Вы можете использовать

^[^-]*-[^-]*(-[^-]*) 

Regex Demo

ПРИМЕЧАНИЕ: - Матч в первая группа захвата