шаблон соответствия регулярному выражению - PullRequest
0 голосов
/ 31 августа 2010

Мне нужно сопоставить шаблон, используя reMatchNoCase("(listid)","listid car van listid dog cat listid house hotel")>, чтобы listid был шаблоном, и сопоставьте его, и все, что относится к следующему шаблону, снова будет перечислено. так что если я дам дамп реваншу, я получу структуру, каждая из которых начинается с listid, а содержимое в

вот как это должно выглядеть

  1. фургон listid

  2. кошка-листист

  3. отель listid house

и т.д ....

когда я использую reMatchNoCase("(listid)","listid car van listid dog cat listid house hotel")>, он только создаст структуру с "listid" и ничего более похожим на автомобильный фургон ... какое регулярное выражение я использую после (listid), чтобы получить все внутри?

спасибо

Ответы [ 2 ]

2 голосов
/ 31 августа 2010

Это регулярное выражение, вероятно, подойдет;Я не знаю деталей холодного синтеза, но он соответствует тому, что вы хотите:

listid.*?(?=$|\slistid)
2 голосов
/ 31 августа 2010

Вы можете использовать это регулярное выражение

listid.*?(?=(listid|$))

То, что делает это регулярное выражение, находит 'listid', за которым следуют любые символы до следующего 'listid' или 'end of line ($)'. ?= - это позитивный взгляд на следующий список, но не включающий его в матч. ? в .*? позволяет избежать жадного поведения .* и соответствует следующей следующей строке просмотра.

...