Как сопоставить строку с двумя буквенными символами, которые соответствуют N и R.
import re string = 'vvvEX(1)35-5' print(re.search(r'(N|R|[EX])\([0-9]\)\S*', string)[0]) # X(1)35-5 # expected output: EX(1)35-5
[EX] соответствует одной E или одной X, а вы хотите соответствовать EX подстроке.
[EX]
E
X
EX
Вы можете использовать
(?:EX|[NR])\(\d+\)\S* ^^^^^^^^^^^
См. Демоверсию regex
Детали
(?:EX|[NR])
N
R
(?:EX|N|R)
\(
(
\d+
\)
)
\S*