本文介绍Python的正则,通过本文介绍和一个练习,对正则有一个基本了解就可以。

 # 正则表达式
'''
正则表达式是有一些特殊字符组成,能够帮你找到一些符合一定规则的字符串
先来了解几个符号所代表的意思
\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

Python 3基础教程32-正则的更多相关文章

  1. Python机器学习基础教程-第2章-监督学习之决策树

    前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...

  2. [SQL基础教程] 3-2 对表进行分组

    [SQL基础教程] 3-2 对表进行分组 GROUP BY SELECT <列名1>,<列名2>,... FROM <表名> GROUP BY <列名1> ...

  3. 小白必看Python视频基础教程

    Python的排名从去年开始就借助人工智能持续上升,现在它已经成为了第一名.Python的火热,也带动了工程师们的就业热.可能你也想通过学习加入这个炙手可热的行业,可以看看Python视频基础教程,小 ...

  4. Python数据分析基础教程

    Python数据分析基础教程(第2版)(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1_FsReTBCaL_PzKhM0o6l0g 提取码:nkhw 复制这段内容后 ...

  5. Python Numpy基础教程

    Python Numpy基础教程 本文是一个关于Python numpy的基础学习教程,其中,Python版本为Python 3.x 什么是Numpy Numpy = Numerical + Pyth ...

  6. Python机器学习基础教程-第2章-监督学习之决策树集成

    前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...

  7. Python机器学习基础教程-第2章-监督学习之线性模型

    前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...

  8. Python机器学习基础教程-第2章-监督学习之K近邻

    前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...

  9. Python机器学习基础教程

    介绍 本系列教程基本就是搬运<Python机器学习基础教程>里面的实例. Github仓库 使用 jupyternote book 是一个很好的快速构建代码的选择,本系列教程都能在我的Gi ...

  10. Python机器学习基础教程-第1章-鸢尾花的例子KNN

    前言 本系列教程基本就是摘抄<Python机器学习基础教程>中的例子内容. 为了便于跟踪和学习,本系列教程在Github上提供了jupyter notebook 版本: Github仓库: ...

随机推荐

  1. Cesium.js学习第一天(设置材质)

    var viewer = new Cesium.Viewer('cs'); var entity = viewer.entities.add({ position: Cesium.Cartesian3 ...

  2. 【luogu P3901 数列找不同】 题解

    对于区间查询的问题,提供一种思路: 莫队. 莫队是处理区间问题的乱搞神器,尤其是对于离线查询问题,当然也可以做在线查询,比如带修莫队. 对于有的题,莫队是乱搞骗分,而在某些地方,莫队是正解. 这道题来 ...

  3. HDU 1160(两个值的LIS,需dfs输出路径)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1160 FatMouse's Speed Time Limit: 2000/1000 MS (Java/ ...

  4. C++/C 内存大小

    #include <stdio.h> struct test1{    char a1;    int a2;    double a3;}; struct test2{    char ...

  5. 十一、Linux 命令大全

    Linux 命令大全 Linux 命令大全 1.文件管理 cat chattr chgrp chmod chown cksum cmp diff diffstat file find git gitv ...

  6. bootstrap实现分页

    bootstrap分页功能 写前端都会面临的一个问题就是分页,如果是纯js分页也是可以的,只是可能代码量比较大,所以今天写一个关于用bootstrap框架分页的例子,希望以后可以帮助到一些对这方面比较 ...

  7. Solr简单总结

    Solr 运行Solr服务 方式一:Jetty服务器启动Solr 进入solr-4.10.2/example目录 打开命令行,执行java –jar start.jar命令,即可启动Solr服务 打开 ...

  8. C# Winform WebBrowser控件

    C# WinForm WebBrowser 1.主要用途:使用户可以在窗体中导航网页. 2.注意:WebBrowser 控件会占用大量资源.使用完该控件后一定要调用 Dispose 方法,以便确保及时 ...

  9. 源码安装CentOs7下的PHP7

    首先安装APACHE环境,直接用yum安装 yum install httpd httpd-devel /etc/httpd/ systemctl start httpd.service #启动apa ...

  10. python 排列组合

    笛卡尔积(product): 假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2) ...