python之路--内置函数03
2024-08-29 17:03:00
一 . 正则表达式 匹配字符串
元字符
. 除了换行
\w 数字, 字母, 下划线
\d 数字
\s 空白符
\n
\t
\b 单词的边界
\W 非xxx
\D
\S
[ ] 字符组 or的关系
[^xxx] 非xxxx
^ 字符串的开始
$ 字符串的结束
| 或者 ' ' 啥都能匹配
量词
* 0->n
+ 1->n
? 0->1
{p} p次
{p,q} p->q次
{p,} 至少p次 贪婪和惰性
.*
.+
惰性:
.*?宝宝 尽可能少的匹配 转义 \\\\n => \\n => \n
正则前面加r 分组 ()
二 . 在python中使用正则. re
(?P<name>正则)
1. search() 搜索. 搜索到第一个结果返回
import re
# search 搜索, 查找
# 一旦匹配到结果. 直接返回, 如果匹配不到结果. 返回None
result = re.search("\d+", "宝宝45的电话是123")
print(result) # <_sre.SRE_Match object; span=(6, 9), match='123'>
print(result.group()) #
2. match() 匹配. 收到一个结果返回. 从头开始匹配
import re
# 匹配, 从头开始匹配. 相当于在你正则前面加了一个^
result = re.match("\d+", "434宝宝的电话是:")
print(result.group()) #
# search和match的区别: search查找. 找到了结果就返回. match. 从头开始匹配.
3. findall() 查找所有匹配结果
import re
result = re.findall("\d+", "baby的电话号是: 185123456789")
print(result) # ['185123456789']
4. finditer() 返回迭代器.
import re
it = re.finditer("\d+", "baby123456789的电话号是: 185123456789")
for el in it:
print(el.group()) # 分组 123456789 185123456789
5. compile() 编译
6. group("name") 获取数据
7. re.S 干掉 . 的换行
最新文章
- How to realize the double os in the win8 background.
- 本学期3个sprint的团队贡献分
- gulp入坑系列(2)——初试JS代码合并与压缩
- Ubuntu/linux 安装 kernel-devel
- spring容器IOC创建对象<;二>;
- XUtils解析
- MATLAB GUI程序设计中ListBox控件在运行期间消失的原因及解决方法
- Java类型
- event事件:
- 2026-Keroro侵略地球
- QWidget QMainWindow QDialog 三者区别
- sql server identity限制
- iOS摄像头和相册-UIImagePickerController-浅析(转)
- 使用自定义类型做qmap,qhash的key
- 利用指针突破C++编译器的防线
- 字符设备驱动4: ioremap
- 使用Pushlet来实现服务器端向客户端推送信息
- 实践作业2:黑盒测试实践——安装配置测试工具 Day 3
- 关于Mysql DATE_FORMAT() 日期格式
- ubuntu安装qq教程