escape_markdown does not escape masked links
### Summary

Using escape_markdown to remove masked links from content before sending it with a webhook does not escape them as expected.

### Reproduction Steps

Call `utils.escape_markdown` on a piece of text with a masked link:

```python3
>>> import discord
>>>
>>> discord.utils.escape_markdown('[Hello World](https://example.com)')
'[Hello World](https://example.com)'
>>>
```

### Expected Results

I expected the returned text to be `\\[Hello World\\](https://example.com)` or similar.

### Actual Results

The text is unchanged, and will display a masked link in chat.

### Checklist

<!-- Put an x inside [ ] to check it, like so: [x] -->

- [x] I have searched the open issues for duplicates.
- [x] I have shown the entire traceback, if possible.
- [x] I have removed my token from display, if visible.

### System Information

- Python v3.8.1-final
- discord.py v1.4.0-alpha
    - discord.py pkg_resources: v1.4.0a2301+g98515ca
- aiohttp v3.6.2
- system info: Windows 10 10.0.19645

diff --git a/discord/utils.py b/discord/utils.py
index e32ee7fd..510096dd 100644
--- a/discord/utils.py
+++ b/discord/utils.py
@@ -440,7 +440,9 @@ def resolve_invite(invite):
 _MARKDOWN_ESCAPE_SUBREGEX = '|'.join(r'\\{0}(?=([\\s\\S]*((?<!\\{0})\\{0})))'.format(c)
                                      for c in ('*', '`', '_', '~', '|'))
 
-_MARKDOWN_ESCAPE_REGEX = re.compile(r'(?P<markdown>%s)' % _MARKDOWN_ESCAPE_SUBREGEX)
+_MARKDOWN_ESCAPE_COMMON = r'^>(?:>>)?\\s|\\[.+\\]\\(.+\\)'
+
+_MARKDOWN_ESCAPE_REGEX = re.compile(r'(?P<markdown>%s|%s)' % (_MARKDOWN_ESCAPE_SUBREGEX, _MARKDOWN_ESCAPE_COMMON))
 
 def escape_markdown(text, *, as_needed=False, ignore_links=True):
     r"""A helper function that escapes Discord's markdown.
@@ -476,7 +478,7 @@ def escape_markdown(text, *, as_needed=False, ignore_links=True):
                 return is_url
             return '\\\\' + groupdict['markdown']
 
-        regex = r'(?P<markdown>[_\\\\~|\\*`]|>(?:>>)?\\s)'
+        regex = r'(?P<markdown>[_\\\\~|\\*`]|%s)' % _MARKDOWN_ESCAPE_COMMON
         if ignore_links:
             regex = '(?:%s|%s)' % (url_regex, regex)
         return re.sub(regex, replacement, text)
['discord/utils.py']