python正则表达式练习题
- # 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正则表达式练习题的更多相关文章
- python 正则表达式 练习题
会用到的语法 正则字符 释义 举例 + 前面元素至少出现一次 ab+:ab.abbbb 等 * 前面元素出现0次或多次 ab*:a.ab.abb 等 ? 匹配前面的一次或0次 Ab?: A.Ab 等 ...
- python正则表达式与re模块-02
正则表达式 正则表达式与python的关系 # 正则表达式不是Python独有的,它是一门独立的技术,所有的编程语言都可以使用正则 # 但要在python中使用正则表达式,就必须依赖于python内置 ...
- Python 正则表达式入门(中级篇)
Python 正则表达式入门(中级篇) 初级篇链接:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我们说在这一篇里,我们会介绍子表达式,向前向 ...
- Python正则表达式中的re.S
title: Python正则表达式中的re.S date: 2014-12-21 09:55:54 categories: [Python] tags: [正则表达式,python] --- 在Py ...
- Python 正则表达式入门(初级篇)
Python 正则表达式入门(初级篇) 本文主要为没有使用正则表达式经验的新手入门所写. 转载请写明出处 引子 首先说 正则表达式是什么? 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达 ...
- python正则表达式re
Python正则表达式: re 正则表达式的元字符有. ^ $ * ? { [ ] | ( ).表示任意字符[]用来匹配一个指定的字符类别,所谓的字符类别就是你想匹配的一个字符集,对于字符集中的字符可 ...
- Python正则表达式详解
我用双手成就你的梦想 python正则表达式 ^ 匹配开始 $ 匹配行尾 . 匹配出换行符以外的任何单个字符,使用-m选项允许其匹配换行符也是如此 [...] 匹配括号内任何当个字符(也有或的意思) ...
- 比较详细Python正则表达式操作指南(re使用)
比较详细Python正则表达式操作指南(re使用) Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式.Python 1.5之前版本则是通过 regex 模块提供 E ...
- python入门练习题1
常见python入门练习题 1.执行python脚本的两种方法 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文 ...
随机推荐
- Dede后台验证码不显示解决方法详解(dedecms 5.7 UTF-8版本)
织梦(dede)后台验证码不显示有多种可能性,我前几天测试就碰到了这个问题,结果百度搜索了一圈,挨个修改了下,还是不行,最后是在解决另外一个后台上传图片不成功的问题的时候,歪打正着的把验证码问题给解决 ...
- zuul重连配置
#retry #该参数用来开启重试机制 spring.cloud.loadbalancer.retry.enabled=true #断路器的超时时间,断路器的超时时间需要大于ribbon的超时时间,不 ...
- [转帖]如何查看windows某个目录下所有文件/文件夹的大小?
如何查看windows某个目录下所有文件/文件夹的大小? https://www.cnblogs.com/gered/p/10208281.html 挺好的工具 linux 上面 我就是使用 du - ...
- js确定取消—js确定取消判断
国瑞前端: js确定取消,在html界面中,有css模拟的模态框,这样显示的就会更好看一些,那么javascript有没有自带的弹框呢,当然是有的,接下来我就来给大家介绍一下把: js确定取消-警告框 ...
- Function Evaluation
Author: Leisureeen Time Limit: 100ms Memory Limit: 65535KB Code Size Limit: 16 KB 64-bit integer IO ...
- hystrix简介
hystrix,框架,提供了高可用相关的各种各样的功能,然后确保说在hystrix的保护下,整个系统可以长期处于高可用的状态,100%. 高可用系统架构: 资源隔离.限流.熔断.降级.运维监控 资源隔 ...
- AS shortcuts
stl => statelessstf => statefulalt+enter, select element => add pading or somethingselect c ...
- 长期作业:web框架源码剖析
Tornado框架 1.1. 手动安装 1.2. 从简单的开始:分析红框部分的源码 Django框架
- vim插件(vim-emmet)安装步骤
vim安装插件 vim-emmetvim-emmet网址 https://www.vim.org/scripts/script.php?script_id=2981pathogen.vim网址 ...
- JavaWeb 之 Filter 验证用户登录案例
需求: 1. 访问一个网站的资源.验证其是否登录 2. 如果登录了,则直接放行. 3. 如果没有登录,则跳转到登录页面,提示"您尚未登录,请先登录". 代码实现: import j ...