Почему «срабатывает» выражение?
А если в конце паттерна поставить "$"? (без кавычек)
У вас лишний обратный слеш а авражении "\" и строка не сырая. Короче, правильно леоать так:re.match(r'/link/abcd(/.*)?$','/link/abcd/')
Хвостовой слеш не обязателен, но если он есть, после него допускаются любые символы в любом количестве, в том числе нулевом.