本文介绍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. Spring 声明式事务管理方式

    声明式事务管理,基于AOP对目标代理,添加环绕通知,比编码方案优势,不具有侵入式,不需要修改原来的代码. 1.基于XML配置的声明式事务管理方案(案例)      接口Service public i ...

  2. Windows XP和Wndows7误删除了注册表下.exe文件夹之修复办法

    在桌面空白处鼠标右击选择“新建-文本文档”,然后将下面的代码复制粘贴进去;如图所示: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\. ...

  3. P1171 售货员的难题 暴力dp

    题面 著名的TSP问题,NPC问题 对于数据大的情况,我们可以使用一系列近似算法进行寻找解. 对于数据规模小的情况,我们可以直接暴力dp 一开始写了一个dfs,然后就被n=20的数据卡爆了 #incl ...

  4. 【luogu P3063 [USACO12DEC]牛奶的路由Milk Routing】 题解

    题目链接:https://www.luogu.org/problemnew/show/P3063#sub 我很好奇这道题为什么没被收入SPFA好题 #include <cstdio> #i ...

  5. 百练oj 2815:城堡问题(dfs)

    传送门: http://bailian.openjudge.cn/practice/2815 2815:城堡问题 查看 提交 统计 提示 提问 总时间限制: 1000ms 内存限制: 65536kB ...

  6. Vue--- mint-UI 穿插

    Vue-mint-UI库 概述:就是一个 封装好的库 安装/下载:npm install  --save mint-ui 常用 1) Mint UI:a. 主页: http://mint-ui.git ...

  7. MySQL实现序列自增

    #创建序列表 DROP TABLE IF EXISTS `sequence`; CREATE TABLE `sequence` ( `name` ) NOT NULL COMMENT '序列名称', ...

  8. 转:前端安全之XSS攻击

    前端安全 原文链接:https://www.freebuf.com/articles/web/185654.html 随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一,而前端又是引发企 ...

  9. jquery和vue分别对input输入框手机号码格式化(344)

    jQuery function fomatterTel(val, old) {//val: 当前input的值,old: input上次的值 var str = ""; var t ...

  10. JetBrains PyCharm 2017.3注册码

    JetBrains PyCharm 2017.3注册码 (1)在激活界面的License server输入:http://idea.liyang.io:或者:点击help→Register→Licen ...