Это поймает что-нибудь между словами, если есть пробел после первого слова и перед вторым. Если после WORD1
имеется несколько вхождений WORD2
, будет учтено первое.
WORD1 (.*?) WORD2
Это то же самое, но не требует пробелов (например, "WORD1, some string WORD2"
будет соответствовать):
WORD1\b(.*?)\bWORD2
Это начнется с первого WORD1
и продолжится до последнего WORD2
:
WORD1\b(.*)\bWORD2
В зависимости от деталей вашего дела это может быть чище и проще без регулярных выражений.