Я пытаюсь получить выражение регулярного выражения для соответствия нескольким шаблонам с мультилиниями, но он поддерживает все. Например, я хочу, чтобы соответствовать два раза этот код:regex multiline, не работающий над повторяющимися шаблонами
STDMETHOD(MyFunc)(
D2D1_SIZE_U size,
_In_opt_ CONST void *srcData,
) PURE;
STDMETHOD(MyFunc2)(
_In_opt_ CONST void *srcData2,
UINT32 pitch2,
) PURE;
Я следовал этой ссылке:
How do I match any character across multiple lines in a regular expression?
и придумал этот шаблон:
\bSTDMETHOD\b((.|\n|\r)*)\bPURE\b
однако это не Работа. ((.|\n|\r)*)
соответствует всему. Я хочу, чтобы он остановился, когда обнаружил «ЧИСТЫЙ». Другими словами, правильное совпадение дало бы мне два совпадения кода выше, но вместо этого мое выражение останавливается только на последнем ключевом слове «PURE», делая только одно совпадение.
дайте мне знать, если вы видите, почему это не работает.
Read «лени вместо алчности»: HTTP: //www.regular-expressions .info/repeat.html –