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文 ...
随机推荐
- Linux——xargs命令学习
有时候我们会遇到需要将指定命令返回结果进行处理的情况 这种情况下,可能就需要写for循环之类的脚本进行处理了(目前我只能想到这种方法) 但是想起来还有一个xargs命令,组合这个命令就比较省事了. 场 ...
- 缓解DDoS && cc 的最佳Linux内核设置 (转)
https://javapipe.com/blog/iptables-ddos-protection/ kernel.printk = 4 4 1 7 kernel.panic = 10 kernel ...
- 去掉WARN spring.jpa.open-in-view is enabled by default
使用springboot jpa,在运行项目时发现一个WARN WARN 11472 --- [ main] aWebConfiguration$JpaWebMvcConfiguration : sp ...
- Docker Overview
Docker 是一个用于开发.交付和运行应用的开放平台,Docker 设计用来更快的交付你的应用程序.Docker 可以将你的应用程序和基础设施层隔离,并且还可以将你的基础设施当作程序一样进行管理.D ...
- Winograd Convolution 推导 - 从1D到2D
Winograd Convolution 推导 - 从1D到2D 姚伟峰 http://www.cnblogs.com/Matrix_Yao/ Winograd Convolution 推导 - 从1 ...
- Mysql 查询时间段是否可用,查询时间段是否有交集
最近遇到 类似, 会议室预订的模型, 基本上 是 会议室 + 时间段来检测是否被占用. 其实思路比较简单 , 一开始的思路是 去查询 自己选择的时间段 与数据库已经存在的时间段匹配 是否 可用, ...
- [转帖]LINUX PID 1 和 SYSTEMD
LINUX PID 1 和 SYSTEMD 2017年07月16日 陈皓 评论 46 条评论 57,176 人阅读 https://coolshell.cn/articles/17998.html ...
- 忘记token怎么加入k8s集群
一.概述 新版本的k8s,初始化生成的token,只有24小时.超过时间,就得需要重新生成token,为了避免这种情况,直接生成永久的token 二.操作步骤 1.生成一条永久有效的token kub ...
- 如何在一个Docker中同时运行多个程序进程?
我们都知道Docker容器的哲学是一个Docker容器只运行一个进程,但是有时候我们就是需要在一个Docker容器中运行多个进程 那么基本思路是在Dockerfile 的CMD 或者 ENTRYPOI ...
- 2019 顺网游戏java面试笔试题 (含面试题解析)
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.顺网游戏等公司offer,岗位是Java后端开发,因为发展原因最终选择去了顺网游戏,入职一年时间了,也成为了面 ...