繁华落尽and曲终人散 2018-07-05 14:45:38
百度百科上关于正则表达式的解释:
例:判断是否是手机号码
未采用正则表达式
re模块介绍
常用函数
- re.match()函数:扫描整个字符串,返回从起始位置成功的匹配
- 语法:re.match(pattern, string, flags=0)
- pattern 匹配的正则表达式;string 要匹配的字符串;flags 标志位,用于控制正则表达式的匹配方式,常见值如下:(re.I 忽略大小写;re.M 多行匹配)
- re.search()函数:扫描整个字符串,并返回第一个成功的匹配(语法同上)
- findall()函数:扫描整个字符串,并返回结果列表(语法同上)
匹配单个字符
- . 匹配除换行符以外的任意字符
- [123abc] []是字符集和,表示匹配方括号中所包含的任意一个字符
- [^ Mark] 匹配除了 Mark 这几个字母以外的所有字符,中括号里的 ^ 称为脱字符,表示不匹配集合中的字符
- d 匹配数字,效果同 [0-9]
- D 匹配非数字字符,效果同 [^0-9]
- w 匹配数字、字母和下划线,效果同 [0-9a-zA-Z_]
- W 匹配非数字、字母和下划线,效果同 [^0-9a-zA-Z_]
- s 匹配任意的空白符(空格、换行、回车、换页、制表),效果同 [ ]
- S 匹配任意的非空白符,效果同 [^ ]
代码块
# 对 * 进行转义,进行非贪婪匹配print(re.findall(r"//*.*?/*/", r"/* one */ /* two */ ")) # ['/* one */', '/* two */']
大家可以去写一下关于 QQ 、邮箱、电话、用户名、密码、IP地址、URL的正则表达式来练下手。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。