Python 正则表达式 匹配次数
管道可以匹配多个正则表达式中的一个
>>>
>>> m=re.search(r'Batman|Tina Fey','Batman and Tina Fey')
>>> print(m.group())
Batman
>>> m=re.search(r'Batman|Tina Fey','Tina Fey and Batman')
>>> print(m.group())
Tina Fey
>>>
问号表明它前面的字符或分组在这个模式中是可选的,匹配“零次或一次"
>>> batRegex=re.compile(r'Bat(wo)?man')
>>> m1=batRegex.search('I am a Batman')
>>> print(m1.group())
Batman
>>> m2=batRegex.search('I am a Batwoman')
>>> print(m2.group())
Batwoman
>>>
在上述正则表达式中wo是可选的,既可以匹配Batman,又可以匹配Batwoman
>>>
>>> phoneRegex=re.compile(r'(\d{3}-)?\d{3}-\d{4}')
>>> m1=phoneRegex.search('My phone number is 021-456-2345')
>>> print(m1.group())
021-456-2345
>>> m2=phoneRegex.search('My phone number is 456-2345')
>>> print(m2.group())
456-2345
>>>
上面的正则表达式匹配的电话号码可以带区号,也可以不带区号
星号意味着“匹配零次或者多次”
>>>
>>> batRegex=re.compile(r'Bat(wo)*man')
>>> m=batRegex.search('I am a Batman')
>>> print(m.group())
Batman
>>> m=batRegex.search('I am a Batwoman')
>>> print(m.group())
Batwoman
>>> m=batRegex.search('I am a Batwowoman')
>>> print(m.group())
Batwowoman
>>>
加号意味着“匹配一次或多次”
>>>
>>> batRegex=re.compile(r'Bat(wo)+man')
>>> m=batRegex.search('I am a Batwoman')
>>> print(m.group())
Batwoman
>>> m=batRegex.search('I am a Batwowoman')
>>> print(m.group())
Batwowoman
>>> m=batRegex.search('I am a Batman')
>>> m == None
True
>>>
花括号匹配特定次数
(ha){2}匹配‘haha’
(ha){2,}匹配2次或更多次ha
(ha){.2}匹配0到2次ha
(ha){2.5}匹配2到5次ha
Python 正则表达式 匹配次数的更多相关文章
- [转载]Python正则表达式匹配反斜杠'\'问题
转载自csdnblog:Python正则表达式匹配反斜杠'\'问题 在学习Python正则式的过程中,有一个问题一直困扰我,如何去匹配一个反斜杠(即“\”)? 一.引入 在学习了Python特殊字符和 ...
- Python: 正则表达式匹配反斜杠 "\"
Python正则表达式匹配反斜杠 "\" eg: >>>a='w\w\w' 'w\\w\\w' # 打印出来的 "\\" 被转义成 一个反斜 ...
- python 正则表达式匹配IP地址
一.实验环境 1.Windows7x64_SP1 2.anaconda2.5.0 + python2.7(anaconda集成,不需单独安装) 3.pyinstaller3.0 二.实验目的 从tex ...
- python正则匹配次数,贪婪和非贪婪
贪婪模式 {m,n}表示匹配子串的次数>=m and <=n,再此分为内匹配次数尽可能的多 贪婪模式 {,n}表示 >=0 and <=n 贪婪模式 {m,} 表示> ...
- 【python之路38】Python正则表达式匹配反斜杠“\”
一.引入 在学习了Python特殊字符和原始字符串之后,我觉得答案应该是这样的: 1)普通字符串:'\\'2)原始字符串:r'\'但事实上在提取诸如“3\8”反斜杠之前的数字时,我屡次碰壁,始终得不到 ...
- Python正则表达式匹配猫眼电影HTML信息
爬虫项目爬取猫眼电影TOP100电影信息 项目内容来自:https://github.com/Germey/MaoYan/blob/master/spider.py 由于其中需要爬取的包含电影名字.电 ...
- Python: 正则表达式匹配多行,实现多行匹配模式
1) 点 (.)去匹配任意字符的时候,不能匹配换行符 在这个模式中(?:.|\n)是指定了一个非捕获组(仅仅用来做匹配,部能通过单独捕获或者编号的组) 2) re.DOTALL re.compile( ...
- Python正则表达式匹配日期与时间
#!/usr/bin/env python # -*- coding: utf-8 -*- __author__ = 'Randy' import re from datetime import da ...
- Python 正则表达式 匹配任意字符
.(句点)匹配除了换行之外的所有一个字符, .*(点-星)匹配除了换行外的所有字符 >>> >>> r=re.compile(r'.*')>>> ...
随机推荐
- t-ora issue can't login mysql
https://github.com/tora-tool/tora/issues/99 ### TOra is an open-source multi-platform database manag ...
- 使用PHP导入Excel和导出数据为Excel文件
有时需要将Excel表格的数据导入到mysql数据库中,我们使用PHP的一个开源项目PHP-ExcelReader可以轻松实现Excel的导入.另外将mysql数据导出为Excel与本站上篇文章中导出 ...
- 汇编语言版本的HelloWorld
平台 macOS 工具 nasm clang 文件 main.asm extern _printf ; 这里调用系统的一个系统调用函数, _printf, 使用extern告诉链接器该label在其他 ...
- PHPGGC学习----理论
本文首发于先知:https://xz.aliyun.com/t/5450 PHPGGC 是一款能够自动生成主流框架的序列化测试payload的工具,类似 Java 中的 ysoserial, 当前支持 ...
- JAVA 面试重点知识个人总结
一.集合: 1 .Collection(是java.util下的接口) 和 Collections(是java.util下的类). 2 .List, Set,是否继承自Collection接口,Map ...
- (已解决)Arduino mega2560 R3插在电脑上没有反应
OK,话不多说.网上找了一些资料,感觉都说的不够清晰.自己琢磨了下,有了一个简单粗暴的方法. 步骤1:插上Arduino mega2560板子.没有反应. 步骤2:我的电脑-管理-设备管 ...
- keil 系列问题
1.为了让keil支持stm32f0系列,安装了keil4更高级的版本,但是发现编译时弹出异常提示框,经过一番折腾后找到解决办法,首先把电脑登陆账户名改为非中文的,然后卸载了keil重装就可以了. ...
- 构建第一个Spring Boot2.0应用之Controller(三)
Controller控制器主要是接收浏览器请求.下面说一说@Controller注解和@RestController的区别: (1)@Controller类中的方法可以直接通过返回String跳转到j ...
- 【C++】【MFC】创建新的线程函数
DWORD WINAPI MyThreadProc (LPVOID lpParam){ somestruct* pN = (somestruct*)lpParam; // 将参数转为你的类型 ... ...
- 爬虫基础-http请求的基础知识
百度百科上这么介绍爬虫: 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本. 在开发爬虫时常用的工具:ch ...