开发者学堂课程【Python入门 2020年版:特殊字母的含义】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/639/detail/10448
特殊字母的含义
内容介绍:
一、\d 和\D
二、\w 和\W
字母表示它本身,很多字母前面\会有特殊含义
\n:表示换行
\t:表示一个制表符
\s:空白字符
\S:非空白字符
\d:表示数字,等价于[0-9]
一、\d 和\D
print( re.search(r ' x\d+p', 'x243p' ))
#一定要加”+“,如果不加”+“就会匹配不成功。因为不加加号就只能匹配一个字符而匹配不成功。
print( re.search(r'x[0-9]+p', 'x243p'))
输出的结果为:
<re.Match object; span=(0
,5),match='x243p'>
<re.Match object; span=(0
,5),match='x243p'>
两者是等价的。
^除了表示以指定的内容开始以外,在[]里还可以表示取反
\D:表示非数字,等价于[^0-9]
print(re.search(r '\D+', _"he110'))
print(re.search(r'[^0-9]+' , 'he110' ))
输出的结果为:
<re.Match object; span=(0
,2),match='he' >
<re.Match object; span=(0
,2),match='he' >
两者是等价的。
二、\w 和\W
\w:表示匹配数字、字母以及_中文等,非标点符号。
等价于[o-9a-zA-Z_]
print(re.findall(r'\w+ ' ,
’h+E-11.0_x*‘))
输出的结果为:[‘h’, ‘E’, ‘11’, ‘0_x’]
不会拿到其中的‘+’,‘-’,‘.’,’*’。不会匹配的这些字符将其他的分隔开来。
print(re.findall(r'\w+ ' ,
’大,家+好’))
输出的结果为:['大,'家','好']
我们可以看到,不光能拿到数字等还可以拿到汉字
\w 和\W正好相反,就是\w 取反。
print(re.findall(r'\W+ ' , 'h+E-11.0_X*'))
输出的结果为:[ '+', '-', '.','*']