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("归档文件地址“,”解包之后的地址“) ( ...
随机推荐
- 抖音短视频教程VIP培训课程(2019实时更新中)
抖音联盟,抖友会,抖音联盟会员,抖音联盟学员,抖音批量做号团队,工作室带队,联盟学员统一官网认证可查,统一变现渠道担保,成熟技术技术后盾,实时工作室真机实测规则,抖音情感励志书单模式2.0升级,拒绝落 ...
- Linux系统学习 十五、VSFTP服务—匿名用户访问(不推荐使用,不安全)
匿名用户访问 基本配置: anonymous_enable #允许匿名用户访问 anon_upload_enable #允许匿名用户上传 anon_mkdir_write ...
- Node.js上传文件出现Unexpected field
上传文件时,input框的name值要与node接口中single(' ')中的参数一致,否则会报"意外字段的错" 前端用的layui 后端node接口
- Spring Cloud 如何搭建Config
利用spring cloud 的 spring-cloud-config-server 组件 搭建自己的配置中心 config-server 配置文件可以存放在 github ,gitlab 等上面, ...
- Spring Security从后台数据库查询实现登陆控制
Spring Security框架是一个控制登陆的框架,通过配置文件获取后台的用户名及密码,进行比较进行登陆判断 使用步骤 1.导入依赖 <!-- 身份验证 --> <depende ...
- 2019年腾讯最新Java工程师面试题
一.单选题(共21题,每题5分) 1在正则表达式当中下面那一个字符集表示非空格字符 A.[:graph:] B.[:digit:] C.[:space:] D.[:alpha:] 参考答案:A 答 ...
- oracle相邻表记录交换(单双两两交换)
在博客园的博问中看到了一个这样的提问:一个表中有id和name两个字段,id是连续非空不重复的,想要交换相邻表记录的name值(单双两两交换). 另外,如果最后的单独行没有对应的下一行匹配记录的话,就 ...
- mysql给字段取别名无法被jdbc解析的解决办法
项目上用的Spring JDBC,是通过ResultSetMetaData接口来调用具体数据库的JDBC实现类来获取数据库返回结果集的. 在项目开发中,发现在MySQL中使用的别名没有办法被正常解析, ...
- Vue 从入门到进阶之路(十二)
之前的文章我们介绍了一下 vue 中插槽的使用,本章我们接着介绍一下 vue 中的作用域插槽. <!DOCTYPE html> <html lang="en"&g ...
- C#函数的递归
using System; namespace ConsoleApp3 { class Program { static void Main(string[] args) { ); Console.W ...