python3.5.3rc1学习九:正则表达式
# 正则表达式 
''''' 
正则表达式是有一些特殊字符组成,能够帮你找到一些符合一定规则的字符串 
先来了解几个符号所代表的意思
\d   匹配所有的数字 
\D   匹配所有,但是数字除外 
\s   空格 
\S   匹配所有但是空格除外 
\w   匹配所有的字母 
\W   匹配所有但是字母除外 
.    任意除换行符 \n 
\.   表示点符号,斜杠本身是转义字符 
关于正则知识应用,推荐一篇文章:http://www.toutiao.com/i6411296780985565698/
常见的表达式举例: 
{1,3}  表示数字1到3范围 
+      匹配1个或者更多 
?     匹配0个或者1个结果 
*      匹配0个或者更多结果 
$      匹配字符串的结尾部分 
^      匹配字符串的开始部分 
|      匹配左右表达式任意一个 
[]     字符集任意范围,例如[A-Z]表示大写A到Z 
{x}    计算一共找到x的数量
一些空格符: 
\n     换行 
\s     空格 
\t     一个tab,制表符 
\e     转换字符串,转义 
\f     form feed 
\r     return
记住这些:
. + * ? [ ] $ ^ ( ) { } | \
'''
# 举例一个应用
import re
exampleString = ''''
Anthony is 18 years old, and Daniel is 27 years old. 
Tom is 78 and his grandfather,Bob is 102. 
'''
#\d表示所有数字,{1,3}表示1到3范围的数字
ages = re.findall(r'\d{1,3}',exampleString)
# 下面的*表示匹配多个大写A-Z或者小写a-z
names  = re.findall(r'[A-Z][a-z]*',exampleString)
print(ages)
print(names)
# 我们把姓名和年龄信息保存到一个字典,然后输出  
# 先定义一个空字典
ageDict = {}
x = 0
for eachName in names:
    # 把名称作为键,年龄作为值,根据名称去设置年龄值,这样就匹配上
    ageDict[eachName] = ages[x]
    x+=1
print(ageDict)
python3.5.3rc1学习九:正则表达式的更多相关文章
- python3.5.3rc1学习十一:字典与模块
		
#os模块import oscurDir = os.getcwd()print(curDir) os.mkdir("新建") import timetime.sleep(2)os. ...
 - python3.5.3rc1学习十:网络请求
		
#sys模块import sys sys.stderr.write('This is stderr text\n')# 因为从定向有缓冲区,所以需要以下这行代码sys.stderr.flush()sy ...
 - python3.5.3rc1学习八:文件打包
		
from cx_Freeze import setup, Executable setup(name='test to exe', version = '0.1', description='test ...
 - python3.5.3rc1学习七:多线程
		
import threading def exampleFun(): #打印当前激活的线程数量 print(threading.active_count) #查看上面激活的线程是哪几个 print(t ...
 - python3.5.3rc1学习六:画图
		
# 可以设置颜色,g代表green, r代表red,y代表yellow,b代表blue# linewidth = 5,设置线条粗细 # label 设置线条名称 ##plt.plot(x,y,'b', ...
 - python3.5.3rc1学习五:模块
		
#比较大小#name:maxNumber.py#比较两个数大小#C:\Users\Anthony\AppData\Local\Programs\Python\Python36-32\Lib\site- ...
 - python3.5.3rc1学习五:列表与元组
		
#元组和列表 #元组定义x = 5,6,2,6 #or x = (5,6,2,6) #列表定义 y = [5,6,2,6] # 元组的使用,我们用return语句来演示 def exampleFunc ...
 - python3.5.3rc1学习四:类
		
class calculator: def add(x,y): return x + y print(added) def sub(x,y): return x - y print(sub) def ...
 - python3.5.3rc1学习三:文件操作
		
##全局变量与局部变量x = 6 def printFuc(): y = 8 z =9 print(y + z) print(x) printFuc()#print(y)#常见错误##name = & ...
 
随机推荐
- Linux第三章-Linux搭建Java环境
			
本文安装系统是基于 CentOS 7 版本及以上 一.安装JDK 1.先去 Oracle官网 下载Linux1.8的版本以 .tar.gz 为后缀的文件,我这里用的是 jdk-8u181-linux- ...
 - python读写Excel方法(xlwt和xlrd)
			
在我们做平常工作中都会遇到操作excel,那么今天写一篇,如何通过python操作excel,当然python操作excel的库有很多,比如pandas,xlwt/xlrd,openpyxl等,每个库 ...
 - Linux 和 Windows 查看 CUDA 和 cuDNN 版本
			
目录 Linux 查看 CUDA 版本 查看 cuDNN 版本 Windows 查看 CUDA 版本 查看 cuDNN 版本 References Linux 查看 CUDA 版本 方法一: nvcc ...
 - The Preliminary Contest for ICPC Asia Nanjing 2019
			
传送门 A. The beautiful values of the palace 题意: 给出一个\(n*n\)的矩阵,并满足\(n\)为奇数,矩阵中的数从右上角开始往下,类似于蛇形填数那样来填充. ...
 - mock 模拟数据在框架中的简单使用
			
首先在框架中需要安装mock模块 cnpm i mockjs -S 其次在src文件夹下新建mock文件夹,在mock文件夹中新建一个index.js文件 代码如下: const Mock = req ...
 - C++教程详解
			
第一篇:基础篇 简介.环境配置.基本语法.注释.数据类型.变量类型.变量作用域.常量.修饰符类型. 存储类.运算符.循环.判断.函数.数字.数组.字符串.指针.引用.日期&时间. 基本的输入输 ...
 - [Vue专题]  对比vue-cli2.x和vue-cli3.x的搭建
			
简介:深入了解脚手架vue-cli2.x版本与3.x版本构建项目的区别 搭建前提条件: node环境 node是傻瓜式安装的,直接去官网下载安装不断下一步 命令行输入node -v查询版本号,有版本号 ...
 - Linux 学习记录二(文件的打包压缩).
			
和 window不同,在Linux压缩文件需要注意的是,压缩后的文件会把源文件给替代,无论是gzip.bzip2.xz 均不支持压缩目录,要达到压缩目录的目的,需要用到tar指令. gzip 压缩 ...
 - Java连载48-final关键字
			
一.final关键字 1.注意点: (1)final是一个关键字,表示最终的,不可变的. (2)final修饰的类无法被继承 (3)final修饰的方法无法被覆盖 (4)final修饰的变量一旦被赋值 ...
 - 前端笔记之React(七)redux-saga&Dva&路由
			
一.redux-saga解决异步 redux-thunk 和 redux-saga 使用redux它们是必选的,二选一,它们两个都可以很好的实现一些复杂情况下redux,本质都是为了解决异步actio ...