# coding=utf-8
import re
# 1. 写一个正则表达式,使其能同时识别下面所有的字符串:'bat','bit', 'but', 'hat', 'hit', 'hut' s ="bat ,bit ,but ,hat ,hit ,hut"
print re.findall(r'[bh][aiu]t',s) # 2.匹配由单个空格分隔的任意单词对,也就是姓和名 s = "Han meimei, Li lei, Zhan san, Li si"
print re.findall(r'([A-Za-z]+) ([A-Za-z]+)',s) # 3. 匹配由单个逗号和单个空白符分隔的任何单词和单个字母,如姓氏的首字母 s = "yu, Guan bei, Liu fei, Zhang"
print re.findall(r'([a-zA-Z]+),\s([a-zA-Z])',s) # 4.匹配所有的有效的Python标识符集合 s = "_hello , python_1 , 2world , Pra_ni , @dfa_ , ewq* "
print re.findall(r'\b[a-zA-z_][\w]*(?!=\W) ',s) # 5. 根据美国街道地址格式,匹配街道地址。美国接到地址使用如下格式:1180 Bordeaux Drive。使你的正则表达式足够灵活,以支持多单词的街道名称,如3120 De la Cruz Boulevard s = """street 1: 1180 Bordeaux Drive,"
street 1: 3120 De la Cruz Boulevard"""
print re.search(r'\d+( +[a-zA-Z]+)+',s).group() # 6. 匹配以“www”起始且以“.com”结尾的简单Web域名:例如,http://www.yahoo.com ,也支持其他域名,如.edu .net等 s = "http://www.yahoo.com www.foothill.edu"
print re.search(r'w{3}\.[a-zA-Z]+\.(com|edu|net)',s).group() # 7. 匹配所有能够表示Python整数的字符串集 s = '520a1 20L 0 156 -8 -10a A58'
ite = re.finditer(r'-?\d+',s)
for i in ite: print i.group(), # 8. 匹配所有能够表示Python长整数的字符串集 s = '520a 20L 0 156 -8L A58'
ite = re.finditer(r'-?\d+L',s)
for i in ite: print i.group(), # 9. 匹配所有能够表示Python浮点数的字符串集 s = '80.2 fds2.1 0.003'
print re.findall(r'\d+\.\d+',s) # 10. 表示所有能够表示Python复数的字符串集 s = '12j fds -4j 5-2j fdsa'
print re.findall(r'\d*-?\d+j',s) # 11、匹配一行文字中的所有开头的字母内容 s="Now, let's take a closer look at some iconic moments from the show's stage made by Chinese Angels."
print re.findall(r'\b\w',s) # 12、匹配一行文字中的所有开头的数字内容 s="Now, let's take a closer look at some iconic moments from the show's stage made by Chinese Angels."
print re.findall(r'\b\d',s) # 13、匹配一行文字中的所有开头的数字内容或字母内容 s = "577fsda3f you12daf f1s32dafffff"
print re.findall(r'\b\d+|\b[A-Za-z]+',s) # 14、 只匹配包含字母和数字的行 s = "nihao fsadf \n789! 3asfd 1\nfds12df e4 4564"
print re.findall(r'^([a-zA-Z\d ]+)$',s,re.M) # 15、提取每行中完整的年月日和时间字段 s="""time 1988-01-01 17:20:10 fsadf 2018-02-02 02:29:01"""
print re.findall(r'[12]\d{3}\-[01]\d\-[0123]\d\s*[012]\d\:[012345]\d\:[012345]\d',s) # 16、将每行中的电子邮件地址替换为你自己的电子邮件地址 s="""xss@qq.com, 465465@163.com, ppp@sina.com
s121f@139.com, soifsdfj@134.com
pfsadir423@123.com"""
print re.sub(r'\w+?\@\w+?\.com','zeke@qq.com',s) # 17、匹配\home关键字: s ="fdsar \home \homeer"
print re.findall(r'\\home',s)

以上代码为博主练习所写,如有错误,请大家多多包涵并指正!

python正则表达式练习题的更多相关文章

  1. python 正则表达式 练习题

    会用到的语法 正则字符 释义 举例 + 前面元素至少出现一次 ab+:ab.abbbb 等 * 前面元素出现0次或多次 ab*:a.ab.abb 等 ? 匹配前面的一次或0次 Ab?: A.Ab 等 ...

  2. python正则表达式与re模块-02

    正则表达式 正则表达式与python的关系 # 正则表达式不是Python独有的,它是一门独立的技术,所有的编程语言都可以使用正则 # 但要在python中使用正则表达式,就必须依赖于python内置 ...

  3. Python 正则表达式入门(中级篇)

    Python 正则表达式入门(中级篇) 初级篇链接:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我们说在这一篇里,我们会介绍子表达式,向前向 ...

  4. Python正则表达式中的re.S

    title: Python正则表达式中的re.S date: 2014-12-21 09:55:54 categories: [Python] tags: [正则表达式,python] --- 在Py ...

  5. Python 正则表达式入门(初级篇)

    Python 正则表达式入门(初级篇) 本文主要为没有使用正则表达式经验的新手入门所写. 转载请写明出处 引子 首先说 正则表达式是什么? 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达 ...

  6. python正则表达式re

    Python正则表达式: re 正则表达式的元字符有. ^ $ * ? { [ ] | ( ).表示任意字符[]用来匹配一个指定的字符类别,所谓的字符类别就是你想匹配的一个字符集,对于字符集中的字符可 ...

  7. Python正则表达式详解

    我用双手成就你的梦想 python正则表达式 ^ 匹配开始 $ 匹配行尾 . 匹配出换行符以外的任何单个字符,使用-m选项允许其匹配换行符也是如此 [...] 匹配括号内任何当个字符(也有或的意思) ...

  8. 比较详细Python正则表达式操作指南(re使用)

    比较详细Python正则表达式操作指南(re使用) Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式.Python 1.5之前版本则是通过 regex 模块提供 E ...

  9. python入门练习题1

    常见python入门练习题 1.执行python脚本的两种方法 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文 ...

随机推荐

  1. go 垃圾回收机制

    转载一篇仔细分析了golang的垃圾回收策略以及发展的一篇文章 地址是https://mp.weixin.qq.com/s?__biz=MzAxNzMwOTQ0NA%3D%3D&mid=265 ...

  2. replace into 详解 update mysql

    转replace 与 update 区分本文主要对比一下 Sqlite 中的 replace 语句和 update 语句 . 在本例中使用如下数据库表:   图1 该表的表名为student, 存储学 ...

  3. mysql字段值如何区分大小写

    今天做sql查询,发现字段值没区分大小写 mysql> select guid,type,parent_guid from api_assets where guid='3rfI2PsSrCz9 ...

  4. rxjs debounceTime减少搜索的频率

    debounceTime用来降低事件的触发频率 ,接收以毫秒为单位的参数 它所做的操作是,在一定时间范围内不管产生了多少事件,它只放第一个过去,剩下的都将舍弃 html: <div class= ...

  5. 简单使用Moq框架

    Moq框架简单使用   系列目录 Moq库简介及安装 Moq简介 Moq是.net平台下的一个非常流行的模拟库,只要有一个接口它就可以动态生成一个对象,底层使用的是Castle的动态代理功能. 它的流 ...

  6. activiti学习2:示例工程activiti-explorer.war的使用

    目录 activiti学习2:示例工程activiti-explorer.war的使用 一.搭建开发环境 二.运行示例工程 三.示例工程功能演示 1. 创建流程图 2. 部署流程图 3. 启动流程 4 ...

  7. Deleaker – 内存泄漏猎人(RAD Studio 的附加组件)

    程序员面临(并希望我们意识到)的常见问题之一是内存泄漏或任何其他类型的资源泄漏.例如,Windows限制了进程一次可以分配的GDI或USER32对象的数量.当事情走错路时,您可能希望拥有一些工具来帮助 ...

  8. python 之 面向对象(反射、__str__、__del__)

    7.10 反射 下述四个函数是专门用来操作类与对象属性的.通过字符串来操作类与对象的属性,这种操作称为反射 class People: country="China" def __ ...

  9. Python 基础 while 循环

    Python 基础 while 循环 while 循环 在生活中,我们遇到过循环的事情吧?比如循环听歌.在程序中,也是存才的,这就是流程控制语句 while 基本循环 while 条件: # 循环体 ...

  10. python:函数的参数传递方法演示

    """ 函数的参数传递方法演示 """ #1.位置传参 def normal(a, b, c): print("1.位置传参:&q ...