Вы можете немного реорганизовать свою группу захвата, чтобы сохранить is
слово вне группы и использовать re.findall
:
>>> s = 'A boy is playing and he is wearing shirt.'
>>> re.findall(r'(\S+)\s+is\b', s)
['boy', 'he']
findall
возвращает только захваченную группу, если она есть в вашем регулярном выражении.
Также обратите внимание, что нет необходимости использовать \b
(граница слова) после сопоставления пробелов.