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'.*')>>> ...
随机推荐
- SpringBoot | 第十八章:web应用开发之WebJars使用
前言 前面一章节我们主要讲解了关于文件上传的两种方式.本章节继续web开发的相关知识点.通常对于web开发而言,像js.css.images等静态资源版本管理是比较混乱的,比如Jquery.Boots ...
- hadoop集群搭建简要记录
2019/03/09 21:46 准备4台服务器或者虚拟机[centos7],分别设置好静态ip[之所以设置静态ip主要就是为了省心!!!][ centos7下面配置静态IP 参考地址: https ...
- JAVA中面向对象
一.方法: 1.方法概述: 在JAVA中,方法就是用来完成解决某件事情或实现某个功能的办法. 2.方法的语法格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,.....){ ...
- 添加egit插件
1.下载egit插件 打开Eclipse,git需要eclipse授权,通过网页是无法下载egit的安装包的.在菜单栏依次打开eclipse→help→install new software→add ...
- 对CSRF的理解及防范
对CSRF的理解: 假定a是一个银行网站, b是一个危险网站. 当用户在访问a, 并且session并未结束的情况下, 去访问b网站, b网站就可以通过隐藏的url或者是表单来伪造用户对a的get或者 ...
- 返回mapcontrol上的已被选择的element
IGraphicsContainerSelect.SelectedElement
- 软件测试Lab 1 Junit and Eclemma
首先安装eclipse 然后下载hamcrest-core-1.3.jar,下载地址:http://mvnrepository.com/artifact/org.hamcrest/hamcrest-c ...
- 软件License设计
如何保护软件版权,最常用的办法就是设计一套license验证框架. 1.我们的常规需求如下: .可以限制软件只能在一台机器上使用: 目前很多软件都是一机一码的销售,软件换一台机器则不能使用,想要几台机 ...
- python3基础06(随机数的使用)
#!/usr/bin/env python# -*- coding:utf-8 -*- import osimport randomimport string la=[0,1,2,3,4,5,6,7, ...
- 用sql语句按周、按月、按季、按年统计
--按mySql语法统计按周,月,季,年.income为合计的价格字段,createDate为交易时间. select sum(income)as revenue,week(createDate) a ...