2015-11-16 5 views
-1

У меня есть двоичная строка. Есть ли способ найти все 0 строки, окруженной 1, используя регулярные выражения? Например: заданная строка 10010001 Результат должен быть двух: 00 и 000. Я пробовал 1(0+)1 узор, но он возвращает только 00. Я думаю, это потому, что он не может обрабатывать общий символ 1 между 00 и 000 в данном примере.Regex найти все части строки, окруженные одинаковыми символами

+0

Вам нужно предпросмотр и назад '(указать свой вкус!), И «Я попробовал 1 (0+) 1 шаблон, но он возвращает только 00 "невозможно. – 4ae1e1

ответ

1

Используйте образы.

(?<=1)0+(?=1) 

Поскольку находки не соответствуют ни одному символу, вы должны получить два совпадения.

или

Вы можете использовать любой один из двух (или опережающего просмотра назад '). В приведенном ниже примере я использовал позитивный взгляд.

1(0+)(?=1) 

Получить строку, которую вы хотите от индекса группы 1.

DEMO

+0

Thnak вас. Это сработало. Извините за этот вопрос. Возможно, это тривиально, но я не специализируюсь на регулярных выражениях. –

+0

[Добро пожаловать.] (Http://stackoverflow.com/help/accepted-answer) –

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