6. 转义字符
在正则表达式中会用到很多特殊字符,当我们将这些特殊字符当成普通字符来用的时候就需要转义。
正则中的转义符号和 Python 中的转义符号相同,都是反斜杠 \
比如当我们匹配一个网站,他的名字是weimingze.com 和 weimingze_com 这时候要能正确的匹配到 域名中的 . 此时正则中要使用 \. 来将特殊字符 . 转义成为普通的 点.
示例:
>>> s4 = 'weimingze.com; weimingze_com'
>>> re.findall(r'\w+.\w+', s4)
['weimingze.com', 'weimingze_com']
>>>
>>> re.findall(r'\w+\.\w+', s4)
['weimingze.com']
可见 在正则表达式 r'\w+.\w+' 中,. 可以匹配任意字符, 在正则表达式 r'\w+\.\w+' 中,. 只能匹配 . 这个字符。
需要转义的字符
正则中的常用的特殊字符在当成普通字符使用时都需要转义。这些字符有
. ( ) {} [ ] * + ? ^ $ |
部分需要转义的符号(要看应用的场景)
- ,
部分特殊字符
\s \S
\w \W
\d \D
\b \B
\n \t \v \f \r \\(反斜杠自身)