Python连载49-正则举例
一、re举例
import re
#查找数字
p = re.compile(r"\d+")
#在字符串“ongahjeuf125”中及逆行查找,按照规则p指定的正则进行查找
m = p.match("ong125fdsgdsf48515",3,20)#后面的参数序号3到6的搜索范围
print(m)
#上述代码说明
#1.match可以输入参数表示起始位置
#2.查找到的结果只包含一个,表示第一次进行匹配成功的内容
print(m[0])#直接打印出了匹配的内容
print(m.start(0))#打印匹配内容从哪里开始的
print(m.end(0))#打印匹配内容从哪里结束的

2.再举个例子:可以分组获取内容
#参数中re.I代表忽略大小写
p1 = re.compile(r"([a-z]+) ([a-z]+)",re.I)
m1 = p1.match("I am relly good man")
print(m1)
print(m1.group(0))
print(m1.start(0))
print(m1.end(0))
print("===================")
print(m1.group(1))
print(m1.start(1))
print(m1.end(1))
print("===================")
print(m1.group(2))
print(m1.start(2))
print(m1.end(2))
print("===================")
print(m1.groups())

3.查找
(1)search(str,pos[,endpox]]):在字符串中查找匹配,pos和endpos表示起始位置
(2)findall:查找所有
(3)finditer:查找,返回一个iter结果
4.替换
sub(rep1,str[,count])
p2 = re.compile(r"\d+")
m2 = p2.search("one12two34three567four")
print(m2.group())
m3 = p2.findall("one12two34three567four")
print(type(m3))
print(m3)
p3 = re.compile(r"(\w+) (\w+)")
s = "hello 123 wang 456 jfowe,i jodf "
ret = p3.sub(r"Hello world",s)
print(ret)

5.注意
大部分中文内容表示范围是[u4e00-u9fa5],不包括全角标点
title = "世界 你好,hello moto" p4 = re.compile(r"[\u4e00-\u9fa5]+") rst = p4.findall(title) print(rst)

二、源码
D31_1_RexLearning.py
https://github.com/ruigege66/Python_learning/blob/master/D31_1_RexLearning.py
2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

Python连载49-正则举例的更多相关文章
- Python连载59-HTTP首部字段和消息头,Thinker简介
一.首部字段或者消息头 1.下面几个类型都是请求的: User-Agent:关于浏览器和它平台的消息,如Mozilla5.0 Accept:客户端能处理的页面的类型,如text/html Accept ...
- python浅谈正则的常用方法
python浅谈正则的常用方法覆盖范围70%以上 上一次很多朋友写文字屏蔽说到要用正则表达,其实不是我不想用(我正则用得不是很多,看过我之前爬虫的都知道,我直接用BeautifulSoup的网页标签去 ...
- python匹配ip正则
python匹配ip正则 #!/usr/bin/env python # -*- coding:utf-8 -*- import re ip_str = "asdad1.1.1.1sdfwe ...
- 【归纳】正则表达式及Python中的正则库
正则表达式 正则表达式30分钟入门教程 runoob正则式教程 正则表达式练习题集(附答案) 元字符\b代表单词的分界处,在英文中指空格,标点符号或换行 例子:\bhi\b可以用来匹配hi这个单词,且 ...
- python 爬虫之 正则的一些小例子
什么是正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是 事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符”,这个“规则字符” 来表达对字符的一种过滤逻辑. 正则并不是pyth ...
- Python实例---利用正则实现计算器[FTL版]
import re # 格式化 def format_str(str): str = str.replace('--', '+') str = str.replace('-+', '-') str = ...
- Python中的正则
regex_lst = [ ('字符组',), ('非打印字符',), ('特殊字符',), ('定位符',), ('限定符',), ('re模块',), ('分组命名',), ('或匹配',), ( ...
- Python模块(三)(正则,re,模块与包)
1. 正则表达式 匹配字符串 元字符 . 除了换行 \w 数字, 字母, 下划线 \d 数字 \s 空白符 \n 换行符 \t 制表符 \b 单词的边界 \W \D \S 非xxx [ ...
- Python连载13-shutile模块(续)和zipfile模块
一.shutil模块(续) 1.函数:upack_archive() (1)用法:解包操作 (2)格式:shutil.unpack_archive("归档文件地址“,”解包之后的地址“) ( ...
随机推荐
- MongoDB 中聚合统计计算--$SUM表达式
我们一般通过表达式$sum来计算总和.因为MongoDB的文档有数组字段,所以可以简单的将计算总和分成两种:1,统计符合条件的所有文档的某个字段的总和:2,统计每个文档的数组字段里面的各个数据值的和. ...
- docker alphine 设置系统日期
设置时区为上海 RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && ...
- Node.js上传文件出现Unexpected field
上传文件时,input框的name值要与node接口中single(' ')中的参数一致,否则会报"意外字段的错" 前端用的layui 后端node接口
- java之Objects类
Objects类概述 在JDK7添加了一个Objects工具类,它提供了一些方法来操作对象,它由一些静态的实用方法组成,这些方法是null-save(空指针安全的)或null-tolerant(容忍空 ...
- Oracle 11gR2中HR用户安装说明
1.脚本下载: 链接: 1,脚本放在这个目录下$ORACLE_HOME/demo/schema/human_resources hr_analz.sql hr_code.sq ...
- [译]Vulkan教程(05)Instance
[译]Vulkan教程(05)Instance Creating an instance 创建一个instance The very first thing you need to do is ini ...
- js获取input checkbox的选中值
HTML代码: <form action="/test/action" method="get"> <input type="che ...
- QAnet Encoder
#!/usr/bin/python3# -*- coding: utf-8 -*-'''date: 2019/8/19mail: cally.maxiong@gmail.comblog: http:/ ...
- C#_.NetFramework_WebAPI项目_EXCEL数据导出
[推荐阅读我的最新的Core版文章,是最全的介绍:C#_.NetCore_Web项目_EXCEL数据导出] 项目需要引用NPOI的Nuget包: A-2--EXCEL数据导出--WebAPI项目--N ...
- 记录一次netcore3.0 code first使用迁移命令报错问题
环境描述:macOS .vscode .netcore3.0 迁移工具:Microsoft.EntityFrameworkCore.Tools 遇到的问题: Could not execute bec ...