grep -Pno "[[[:alnum:]]*]\(.*?\)" /path/to/file.md OR even better( this would match even ["foo anotherword"])
grep -Pno "\[([[:alnum:]]*[[:space:]]*)*?\]\(.*?\)" -P => Perl Regex which is used to match non-greedy using ?
OR if don't want only alpha numeric and space but any character means
grep -Pno "\[.*?\]\(.*?\)"