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地址等的校验 - 爬虫项目中,特定内容的提取 使用原则 - 只要使用字符串等函数能解决的问题,就不要使用正则 - ...
随机推荐
- ciscn2019华北赛区半决赛day1web5CyberPunk
刚比赛完的一段时间期末考试云集,没有时间复现题目.趁着假期,争取多复现几道题. 复现平台 buuoj.cn 解题过程 首先进入题目页面 看起来没有什么特别的,就是一个可以提交信息的页面.查看响应报文也 ...
- PLSQL命令行创建用户 以及 JDBC简单操作
目录 PLSQL Developer命令行创建用户以及表 课堂要点 JDBC 主外键约束 踩坑之路 设置ORACLE_HOME环境变量 PLSQL Developer命令行创建用户以及表 打开Co ...
- 深度学习面试题25:分离卷积(separable卷积)
目录 举例 单个张量与多个卷积核的分离卷积 参考资料 举例 分离卷积就是先在深度上分别卷积,然后再进行卷积,对应代码为: import tensorflow as tf # [batch, in_he ...
- [V5] ARM: dts: Change i2s compatible string on exynos5250【转】
本文转载自:https://patchwork.kernel.org/patch/2845464/ Padmavathi VennaAug. 16, 2013, 4:26 a.m. UTC This ...
- pip 安装,更新模块
moudle_name:是对应的模块名:请自行更换为自己需要更新的模块名 查看所有可更新的模块: pip list --outdated 更新某一个模块: pip install --upgrade ...
- 小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_17、SpringBootTest单元测试实战
笔记 1.@SpringBootTest单元测试实战 简介:讲解SpringBoot的单元测试 1.引入相关依赖 <!--springboot程 ...
- Microsoft OA
Given a string S consisting of N lowercase letters, return the minimum number of letters that must b ...
- PHP 小程序发模板消息
记录一下DEMO <?php function getAccessToken ($appid, $appsecret) { $url='https://api.weixin.qq.com/cgi ...
- Python 保存数据的方法:
open函数保存 使用with open()新建对象 写入数据(这里使用的是爬取豆瓣读书中一本书的豆瓣短评作为例子) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
- python3以post方式提交数据
# !/usr/bin/python # encoding:utf-8 import requests #下面替换成您的数据 postdata={'name':'xiaochong'} r=reque ...