python学习-54 正则表达式2
re模块 之分组
- >>> import re
- >>> re.findall("ab|c","sdfab|csdf")
- ['ab', 'c']
- >>> re.findall("ab|cd","sdfab|cdsdf")
- ['ab', 'cd']
- >>> re.findall ("abc+","abccccc")
- ['abccccc']
- >>> re.findall ("abc*","abccccc")
- ['abccccc']
- >>> re.findall("(abc)+","abcabcabcabc") # 分组
- ['abc']
- >>> re.findall ("(abc)*","abcabcabcabc")
- ['abc', '']
- >>> re.findall ("abc+","abcabcabcabcabc")
- ['abc', 'abc', 'abc', 'abc', 'abc']
search分组用法 (只返回一个对象)
- >>> re.search("(?P<name>\w+)","abcccc")
- <re.Match object; span=(0, 6), match='abcccc'>
- >>> re.search("(?P<name>\w+)","abcccc").group()
- 'abcccc'
根据组名称 提取内容
- >>> re.search("(?P<name>[a-z]+)\d+","john18musicxiaoming20movie").group("name")
- 'john'
- >>> re.search("(?P<name>[a-z]+)(?P<age>\d+)","john18musicxiaoming20movie").group("age")
- ''
- >>>
re模块的其他常用方法
- >>> re.match("\d+","44safs45asdf321saf789").group() # 只取一个对象,只能取开头的
- ''
- >>> re.split(" ","hello world") # 按空格为分界线取
- ['hello', 'world']
- >>> re.split("[ |]","hello world|aaa")
- ['hello', 'world', 'aaa']
- >>> re.split("[ab]","safdbds") # 按 a b 为分界线取
- ['s', 'fd', 'ds']
--替换
- >>> re.sub("\d+","A","a1sd4fg45h")
- 'aAsdAfgAh'
- >>> re.sub("\d","A","a1sd4fg45h")
- 'aAsdAfgAAh'
- >>> re.sub("\d+","A","a1sd4fg45h",2)
- 'aAsdAfg45h'
- >>> a = re.compile ("\d+") # 定义规则
- >>> a.findall("safsd12a45") # 直接调用 (可以调用多次)
- ['', '']
- >>> re.finditer ("\d+","asfa45saf56") # 将数字放到迭代器内存里
- <callable_iterator object at 0x00000220B1E50E80>
获取里面的内容
- >>> b = re.finditer ("\d+","asfa45saf56")
- >>> next(b)
- <re.Match object; span=(4, 6), match=''>
- >>> next(b)
- <re.Match object; span=(9, 11), match=''>
优先级
- >>> re.findall("www\.(baidu|123)\.com","www.baidu.com")
- ['baidu']
- >>> re.findall("www\.(?:baidu|123)\.com","www.baidu.com") # ‘ ?:’去掉优先级
- ['www.baidu.com']
python学习-54 正则表达式2的更多相关文章
- [Python学习笔记]正则表达式总结
常用缩写字符及其含义表格查询 缩写字符分类 含义 \d 0-9的任意数字 \D 除0-9的数字以外的任何字符 \w 任何字母.数字或下划线字符(可以认为是匹配"单词"字符) \W ...
- Python学习 之 正则表达式
1.简单的正则表达式 import re s=r'abc' re.findall(s,"aaaaaaaaaaaaaaa") #结果为[] re.findall(s,"ab ...
- Python学习笔记——正则表达式入门
# 本文对正则知识不做详细解释,仅作入门级的正则知识目录. 正则表达式的强大早有耳闻,大一时参加一次选拔考试,题目就是用做个HTML解析器,正则的优势表现得淋漓尽致.题外话不多讲,直接上干货: 1. ...
- Python学习--16 正则表达式
正则表达式是一种描述性的语言,用来匹配字符串.凡是符合规则的字符串,我们认为就是匹配了. 正则表达式并非Python独有的,它与语言无关.很多语言都支持正则表达式. 我们经常用正则表达式来匹配电子邮件 ...
- python学习日记(正则表达式)
定义 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Pyth ...
- python学习笔记----正则表达式
正则: regular expression 常用的场景: #正则的包 >>> import re #match:开头匹配,匹配到,返回一个匹配对象,否则返回None >> ...
- python学习笔记——正则表达式regex
1 概述 1.1 定义 本质是由一系列字符和特殊符号组成的字串,用来表示一定规则的某一类字符串. 1.2 特点 正则表达式是一个独立的技术,其在多种编程语言中使用. 在python语言中的正则表达式模 ...
- Python学习 :正则表达式
正则表达式 python 使用正则表达式(re)来进行匹配引擎搜索 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串” 关于正则表达式 ...
- python 学习总结----正则表达式
正则表达式 应用场景 - 特定规律字符串的查找,切割,替换 - 邮箱格式:URl,IP地址等的校验 - 爬虫项目中,特定内容的提取 使用原则 - 只要使用字符串等函数能解决的问题,就不要使用正则 - ...
随机推荐
- 对okhttp参数的一些思考
背景 项目中使用OkHttp访问三方服务 参数 创建okhttp客户端类的时候需要设置一些参数,有些可能是坑,仅供参考: client = new OkHttpClient.Builder() .di ...
- jQuery学习笔记——基本了解
安装 两种方法: 从 jquery.com 下载jQuery. 从 CDN 中载入 jQuery, 如从我的博客中加载 jQuery: <script src="https://blo ...
- ubuntu之路——day5(今天看了浅层神经网络的数学推导过程)
1.初始化 2.前向传播 导数比较好理解 3.反向传播 全符号积分的推导看得我头有点晕 最后唤起我依稀的线代回忆 感谢吴恩达老师的反向传播讲解,第一遍看的有点晕,然后仔细看了一下又找了个B站的推导就懂 ...
- useReducer代替Redux小案例-2(八)
通过上节课的学习,用useContext实现了Redux状态共享的能力,这节课看一下如何使用useReducer来实现业务逻辑的控制.需要注意的是这节课的内容是接着上节课的,需要你把上节课的代码部分完 ...
- R获取指定GO term和KEGG pathway的gene list基因集
clusterProfiler没有显性的接口,但是可以直接扣取clusterProfiler里的函数. 核心函数就是get_GO_data GO_DATA <- get_GO_data(&quo ...
- (转)RL — Policy Gradient Explained
RL — Policy Gradient Explained 2019-05-02 21:12:57 This blog is copied from: https://medium.com/@jon ...
- Apollo的基本使用及常见问题
1. 创建项目 在创建项目页面中填写相关项目信息,最后点击提交即可创建项目. 注意:应用Id必须唯一并且与客户配置的app.id一致. 2. 发布 进入对应项目可通过文本(批量)或者表格模式添加配置, ...
- 如何在shell脚本中获取当前用户名?
答:使用环境变量USER即可 如在脚本中打印当前用户名; #!/bin/sh echo "user name = ${USER}"
- leetcode 611. Valid Triangle Number 、259. 3Sum Smaller(lintcode 918. 3Sum Smaller)
这两个题几乎一样,只是说611. Valid Triangle Number满足大于条件,259. 3Sum Smaller满足小于条件,两者都是先排序,然后用双指针的方式. 611. Valid T ...
- Python 线程,with的作用(自动获取和释放锁Lock)
Python 线程,with的作用(自动获取和释放锁Lock) import threading import time num= #全局变量多个线程可以读写,传递数据 mutex=threading ...