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'.*')>>> ...
随机推荐
- python入门之paramiko模块
paramiko用于实现ssh远程连接服务器执行相关操作. paramiko与之依赖模块cryptography最好版本相同,不然可能执行程序会出错. 一.ssh连接服务器执行命令 import pa ...
- 微信支付配置参数:支付授权目录、回调支付URL
一.开通微信支付的首要条件是:认证服务号或政府媒体类认证订阅号(一般认证订阅号无法申请微信支付) 二.微信支付分为老版支付和新版支付,除了较早期申请的用户为老版支付,现均为新版微信支付. 三.公众平台 ...
- Struts2 源码分析-----Hello world
今天第一天学习struts2,没学过怎么办,那当然是helloworld.感觉嘛,学习的基本流程都差不多,就是helloworld,开发环境,然后就是逐个按照知识点打demo,打着打着你就会发现str ...
- leetcode85 Maximal Rectangle
思路: 分别按行拆分后将这一行之前的每列叠加起来,然后使用leetcode84https://www.cnblogs.com/wangyiming/p/9620942.html的思路计算. 实现: # ...
- Django组件:用户认证组件
一丶用户认证 1.auth模块 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: (1).authent ...
- cron 任务执行表达式
1.来源 开始我还不知道cron到底来源于哪里,不求甚解的我也没做过多了解,现在突然用到所以写一下. cron计划任务 其实只是linux 一个执行计划的一个工具或者执行程序. 在Linux系统中, ...
- javascript数组属性及方法
数组元素的添加 1. arrayt.splice(index,howmany,item1,.....,itemX) 向/从数组中添加/删除项目,然后返回被删除的项目 2. array.unshift( ...
- bank conflct 一句话总结
由于最新的多播模式区别于原来的广播模式,原来同一个warp不同线程访问同一个bank的相同地址不再是bank conflict, 现在总结为:只要同一个 warp 的不同线程会访问到同一个 bank ...
- 分布式缓存memcached介绍,win7环境安装,常用命令set,get,delete,stats, java访问
一.memcached是什么? 二.memcached不互相通信的分布式 三.安装步骤 四.本文介绍的命令主要包括: 存入命令(Storage commands) 取回命令(Retrieval com ...
- Entity Framework --Entity SQL注意事项
Entity SQL 是 ADO.NET 实体框架 提供的 SQL 类语言,用于支持 实体数据模型 (EDM).Entity SQL 可用于对象查询和使用 EntityClient 提供程序执行的查询 ...