码迷,mamicode.com
首页 > 其他好文 > 详细

re模块+面向对象

时间:2019-04-17 16:34:41      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:group   划线   制表符   特殊   编号   其他   个数   多个   替换   

re模块

re:其实就是带有特殊语法的字符串

语法:单个字符和多个字符

 

 

单个字符:

 

\d是匹配所有的数字

\D是匹配所有的非数字

\s是所有的换行符,制表符,空白等,回车符

\S是所有费换行符,空白和制表符等

\w字母数字下划线

\W所有非字母数字下划线

.匹配所有单个字符,(不包括换行符)

 

多个字符:

 

 

+==》{1,n}n是代表所取的个数,是贪婪匹配,能匹配多个就匹配多个

*==》{0,n}n是代表所取的个数,是贪婪匹配,能匹配多个就匹配多个

?==》{0,1}是贪婪匹配,也是能匹配多个就匹配多个

*****************************************************************************************************

+?结合在一起就是非贪婪匹配,是{1,n}但是能不匹配就不匹配,一般结合^$来使用,也是非单个字符匹配

*?结合在一起就是非贪婪匹配,是{0.1},也是要结合^$在一起使用,非单个字符是没有意义的

.+:所有的匹配,除了换行符,贪婪匹配,最少匹配要看匹配前面的匹配对象

.*:所有的匹配,除了换行符,但是是从0开始,最少匹配是空格

.+?:是非贪婪匹配

.*?:也是非贪婪匹配,匹配多少还是要看匹配前面的匹配对象

####所谓的贪婪非贪婪指的是要匹配的字符,+?这个是前面的必须全部匹配,可以不取后面的  *?是可以将前面要匹配的少一个字符,可以不取后面的

多行:

 

re.S能让.也可以匹配到\n

re.M多行匹配,可以全部读取出来

re.I不区分大小写匹配

 

分组:

1.从左往右数左括号,对‘(’进行编号,自己的分组从1开始,group(0)代表匹配的目标整体。

2.(?:)取消所属分组,()就是普通的(),可以将里面的信息作为整体包裹,但是不产生分组

 

替换sub

1.不参与匹配的原样带下

2.参与匹配的都会被替换成指定字符串

3.在指定字符串\num会拿到具体分组(注意转义)

4.其他字符都是原样字符串

 

切分split:将字符串切分成单个字符串列表

 

 

 

 

.

 

re模块+面向对象

标签:group   划线   制表符   特殊   编号   其他   个数   多个   替换   

原文地址:https://www.cnblogs.com/mcc61/p/10724341.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!