Обратите внимание, что (.*)[\s(|\b]
сопоставляет и захватывает любые 0+ символов, как можно больше, вплоть до последнего пробела (\s
), (
, |
или символа возврата.[\s(|\b]
является положительным символьным классом, где \b
не является границей слова, он теряет значение нулевой ширины, а |
анализируется как буквенный символ канала.
Вы можете использовать класс отрицанных символов шаблон, [^(]*
(или [^(]+
):
([A-Za-z]+),\s([A-Za-z]+)\.\s([^(]*)
^^^^^^^
См. Демонстрационную версию regex
Чтобы учестьпеременное количество пробельных символов, вы можете использовать
([A-Za-z]+),\s*([A-Za-z]+)\.\s*([^(]*)
^^^ ^^^
, где \s*
соответствует 0 или более пробельных символов.