Python学习笔记模式匹配与正则表达式之字符分类

 随笔记录方便自己和同路人查阅。

#------------------------------------------------我是可耻的分割线-------------------------------------------

  在前面电话号码正则表达式的例子中,你知道\d可以代表任何数字。也就是说,\d是正则表达式(0|1|2|3|4|5|6|7|8|9)的缩写。

有许多这样的“缩写字符分类”。如:

  \d表示0到9的任何数字

  \D表示除0到9的数字以外的任何字符

  \w表示任何字符、数字或下划线字符(可以认为是匹配“单词”字符)

  \W表示除字符、数字或下划线字符以外的任何字符

  \s表示空格、制表符或换行符(可以认为是匹配“空白”字符)

  \S表示除空格、制表符和换行符以外的任何字符

  字符分类对于缩短正则表达式很有用。字符分类[0-5]只匹配数字 0 到 5,这比输入(0|1|2|3|4|5)要短很多。  

#------------------------------------------------我是可耻的分割线-------------------------------------------

  示例代码:

#! python 3
# -*- coding:utf-8 -*-
# Autor: Li Rong Yang
import re#导入模块
xmasRegex = re.compile(r'\d+\s\w+')
xmasRegex = xmasRegex.findall('''12 drummers, 11 pipers, 10 lords, 9 ladies,
 8 maids, 7swans, 6 geese, 5 rings, 4 birds, 3 hens, 2 doves, 1 partridge''')
print(xmasRegex)

  运行结果:

 

  

posted @ 2019-03-26 20:06  李荣洋  阅读(321)  评论(0编辑  收藏  举报