Похоже, вы можете использовать
.*\\Microsoft Office\\Office\d\d?\\((WINWORD)|(EXCEL)|(POWERPNT)|(MSACCESS)|(OUTLOOK)|(VISIO)|(WINPROJ))\.EXE$
Суть в том, что все альтернативы внутри (...)
также должны быть заключены в скобки, и что выражение regex не поддерживает ограниченные (интервальные) квантификаторы, и{...}
определяет группу захвата с идентификаторами, начинающимися с нуля.\d\d?
соответствует 1 или 2 цифрам.См. документы, на которые вы ссылаетесь :
Вы можете заметить, что синтаксис не совсем такой, как в Perl.Например, оператор группировки - {}, а в Perl - (), и он не имеет {n} (соответствует ровно n раз), как в синтаксисе Perl
Также обратите внимание, что буквальная точка должна быть определена с помощью \.
, и это хорошая идея - использовать только один \.EXE
после всех сгруппированных альтернатив.