Python连载48-正则表达式(中)
一、正则的写法:
. (点好) :表示任意一个字符,除了\n,比如查找所有的一个字符\.
[] :匹配中括号中列举的任意字符,比如[l,y,0], lly, y0, liu
\d :任意一个数字
\d :除了数字都可以
\s :表示空格,tab键
\s :除了空白符号
\w :单词字符,就是a-z,a-z,0-9,_
\w :除了单词字符
* :表示前面的内容重复零次或者多次
+ :表示前面内容至少出现一次
?:前面才出现的内容零次或者一次
{m,n} :允许前面的内容出现最少m次,最多n次
^ :匹配字符串的开始
& :匹配字符串的结尾
\b :匹配单词的边界
():对正则表示式进行分组,从第一个括号开始,编号逐渐增大
\a :只匹配字符串开头,\aabcd,则abcd
\z :仅匹配字符串末尾,abcd\z,abcd
| :管道符号,相当于或
(?p<name>...) :分组,除了原来的编号再制定一个别名,(?p<id>12345){2}
(?p=name) :引用分组
我们举几个例子:
^\d$ 验证一个数字
^\d+$ 必须至少有一个数字
^\d{5,10}$ 只能出现数字,且位数为5-10位
^[16-99]$ 注册者输入年龄只能在16-99这个区间
^[a-za-z0-9]$ 只能输入英文字符和数字
[0-9]{5,12} 验证qq号码
二、re包的大致使用过程
1.使用compile将表示正则的字符串编译为一个pattern对象
2.通过pattern对象提供一系列方法对文本进行查找匹配,获得匹配结果,一个match对象最后使用match对象提供的属性和方法获取信息,根据需要进行操作。
三、re常用函数
group():获取一个或多个分组匹配的子串,当获得整个匹配的字符串时,直接使用group或者group(0)
start:获取分组匹配的子串在整个字符串中的开始位置,参数默认为0
end:获取分组匹配的子串在整个字符串中的结束位置,默认为
span:返回的结构数组(start(group),end(group))
四、源码
2.csdn:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料
上一篇: python基础-数据类型及内置方法
下一篇: python 可变对象与不可变对象
推荐阅读
-
Python连载47-json文件、正则表达式初步
-
荐 「「 Python从入门到实践 」」学习笔记(连载中)
-
荐 「「 Python从入门到实践 」」学习笔记(连载中)
-
python正则表达式去掉数字中的逗号(python正则匹配逗号)
-
Python连载43-current中的map函数、xml文件
-
进一步探究Python中的正则表达式
-
Python 正则表达式匹配字符串中的http链接方法
-
基于Python正则表达式提取搜索结果中的站点地址
-
在python中利用pandas和正则表达式读取文件
-
python中如何正确使用正则表达式的详细模式(Verbose mode expression)