正则表达式的总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式的总结相关的知识,希望对你有一定的参考价值。
在Python中执行正则表达式时,需要导入import re
正则表达式就是:定义一个规则,用另外一个字符串,来匹配或者检验是否满足这个规则;
正则的几种方法:
re.match(r"正则表达式","字符串"):从左边第一个字符开始匹配,如果前面有匹配不成功的,就算后面有可以匹配的,也是匹配失败;如果匹配失败会返回None
re.search(r"正则表达式","字符串"):从左边开始搜寻,如果没有成功,会一直往下匹配,直到匹配成功为止,除非整个字符都没有匹配成功的部分。如果匹配的时候有多处可以成功,会匹配从左到右边第一个匹配内容取出。。
re.findall(r"规则","字符串"),查找字符串所有匹配成功的
re.sub(r"规则","要替换成的字符串","字符串")将匹配到的数据进程替换
re.split(r"规则","字符串")根据匹配进行切割字符串
正则中表示单个字符:
.:任意一个字符(\\n)
\\d:匹配任意一个数字等价[0-9]
\\D:匹配非数字,例如:a,*,$,@,!
\\w:匹配单个字符,a-zA-Z0-9_ 等价[a-zA-Z0-9_]
\\W:非单个字符;例如:&,%,-,+
\\s:空白字符,空格,\\t \\n \\r
\\S:非空白,例如:a,8,$;
正则中表示字符数量:
*:前面的字符出现0次或者无限次数,即可有可无。例如 \\d* ""
+:前面的字符出现1次或者无限次数,即至少出现1次。.+ "1" ,"a"
?:前面的字符要么出现0次要么出现1次,即要么出现,要么不出现。\\w? ""
{m}:前面的字符出现m次;例如\\d{3} "99"
{m,}前面的字符至少出现m次;例如 .{3,} "#448**"
{n,m}前面的字符出现n到m次,包括n和m; \\w{2,3} "a##3"
正则中的原始字符串:
Python中字符串前面加上 r 表示原生字符串,让我们忽略要转义的地方。
特殊字符 \\n \\t \\r
re.match(r"\\nabc","\\nabc")
re.match(r"\\rabc","\\rabc")
re.match(r"\\rabc","\\rabc")
re.match(r"\\tabc","\\tabc")
正则中表示边界:
$:匹配字符串结尾 "1[34578]\\d{9}$" 13511111119
^:匹配字符串开头 "^1[34578]\\d{9}$" search() 1[34578]\\d{9} hh13511111119ccc
\\b:匹配单词的边界 I love you ".+\\sve\\b"
\\B:匹配非单词的边界 I love you ".+\\sv\\B"
正则中的匹配分组
|:匹配左右任意一个表达式 "0|100" "100"
(ab):将括号中字符串作为一个分组 "<.+><.+>(.+)" "
我是"
\\num:引用分组num匹配到的字符串 "<(.+)><.+>(.+)" \\1
(?P)分组起别名 "<(?p.+)><.+>(.+)" P是大写的
(?P=name):引用别名为name分组匹配到的字符串
本文出自 “13369014” 博客,请务必保留此出处http://13379014.blog.51cto.com/13369014/1976894
以上是关于正则表达式的总结的主要内容,如果未能解决你的问题,请参考以下文章