008、【byhy】 常见语法—— 对元字符的转义( \ )
一、 常见语法—— 对元字符的转义( \ )
反斜杠 \
在正则表达式中有多种用途。
比如,我们要在下面的文本中搜索 所有点前面的字符串,也包含点本身
苹果.是绿色的
橙子.是橙色的
香蕉.是黄色的
如果,我们这样写正则表达式 .*.
, 聪明的你肯定发现不对劲。
因为 点 是一个 元字符, 直接出现在正则表达式中,表示匹配任意的单个字符, 不能表示 . 这个字符本身的意思了。
怎么办呢?
如果我们要搜索的内容本身就包含元字符,就可以使用 反斜杠进行转义。
这里我们就应用使用这样的表达式: .*\.
示例,Python程序如下
import re content = ''' 苹果.是绿色的 橙子.是橙色的 香蕉.是黄色的 ''' p = re.compile(r'.*\.') for one in p.findall(content): print(one)
执行结果如下:
苹果.
橙子.
香蕉.
Process finished with exit code 0
匹配某种字符类型
反斜杠后面接一些字符,表示匹配 某种类型
的一个字符。
比如:
\d 匹配0-9之间任意一个数字字符,等价于表达式 [0-9]
\D 匹配任意一个不是0-9之间的数字字符,等价于表达式 [^0-9]
\s 匹配任意一个空白字符,包括 空格、tab、换行符等,等价于表达式 [\t\n\r\f\v]
\S 匹配任意一个非空白字符,等价于表达式 [^ \t\n\r\f\v]
\w 匹配任意一个文字字符,包括大小写字母、数字、下划线,等价于表达式 [a-zA-Z0-9_]
缺省情况也包括 Unicode文字字符,如果指定 ASCII 码标记,则只包括ASCII字母
\W 匹配任意一个非文字字符,等价于表达式 [^a-zA-Z0-9_]
反斜杠也可以用在方括号里面,比如 [\s,.] 表示匹配 : 任何空白字符, 或者逗号,或者点;
1、\d 匹配0-9之间任意一个数字字符,等价于表达式 [0-9]
2、\D 匹配任意一个不是0-9之间的数字字符,等价于表达式 [^0-9]
3、\s 匹配任意一个空白字符,包括 空格、tab、换行符等,等价于表达式 [\t\n\r\f\v]
4、\S 匹配任意一个非空白字符,等价于表达式 [^ \t\n\r\f\v]
5、\w 匹配任意一个文字字符,包括大小写字母、数字、下划线,等价于表达式 [a-zA-Z0-9_]
缺省情况也包括 Unicode文字字符,如果指定 ASCII 码标记,则只包括ASCII字母
6、\W 匹配任意一个非文字字符,等价于表达式 [^a-zA-Z0-9_]
7、反斜杠也可以用在方括号里面,比如 [\s,.] 表示匹配 : 任何空白字符, 或者逗号,或者点;