【1】python-正则表达式语法规范与案例
正则表达式的用法与案例分析
2018-08-24 21:26:14
【说明】:该文主要为了随后复习和使用备查,由于做了word文档笔记,所以此处博文没有怎么排版,没放代码,以插入图片为主,

一、正则表达式之特殊字符

注意:
以下的案例中是match()匹配,match是要求从第一个字符开始匹配,所以,前边是有.*
【1】^ 作用- 以b 开头匹配的结果

【2】$ 作用-任意开头,以3结尾
注意:下边这种是不行的,如果没有*号,就不表示多次了。
表示4为匹配第三位的。点是匹配第二位的。
【3】?的作用
(1)贪婪匹配默认是反向匹配的
贪婪匹配下,是从后往前 开始匹配的。如下例子。

(2)、在左边加一个?号则正向匹配
在左边 加一个?的话,就会从左往右开始匹配。是非贪婪匹配了,但是括号里面的仍然是贪婪匹配。【即从左匹配,第一个b被固定了,但是括号里的第二个b还是从右开始匹配,。*再输出中间的一切内容。】

(3)、在括号里也添加括号,进行非贪婪匹配
#技巧:括号里是有问好的,所以在第一个b 确定下后 .*?b是从左往右的
# 输出是:boooooob【4】、+的作用
简述以上?的原理
其实,上边说的从左从右匹配都是一种技巧的规则,其实完全可以按照下边的这三个符号的含义来解释。
*表示0次或者多次
+表示1次或者多次
?0次或者是1次
比如:
Line=”booooooobbaaa”
pattern=“.*(b.*b)”这里的两处.*都是贪婪匹配模式的,小括号中的.*【由于*是表示0/1次,】所以匹配出黄色部分的bb。
+的作用:
+其实是表示1次或者是多次的匹配模式的。
比如:对于以下
Line=”booooooobbaaa”
pattern=“.*(b.+b)”就无法匹配成功,因为.+是至少要匹配1个元素的,那么开头结尾都是b,中间还要一个元素的情况是没有的。
那么比如:
Line=”booooooobabaaa”
pattern=“.*(b.+b)”
就匹配出了结果是bab
【案例分析】
- (1)

- (2)
(3)

【5】、{2}的作用、
{1} {2} 表示某一个限定元素的出现此时。
案例分析:
- (1)
(2)

- (3)

【6】、{2,}&&{2,5}
1、{2,}表示两次或以上的输出
{2,5}
Y与上边原理相同,表示,大于等于2 小于等于5

【7】、| 的用法
这个符号代表或的关系。
特殊括号的用法

输出boobb123
【8】、[ ]的用法
《1》[ ]第一个用法表示中括号中的任意一个值满足就进行匹配操作。
案例如下:

《2》[0-9]中括号的第二个含义,可以表示区间。
比如说匹配电话号码:
Phone_num_pattern=”1[3578][0-9]{9}”
表示,可以匹配13***** /15*****/17*************/18***********的电话号码,后边九位是0—9任意,{9}表示9个数字

《3》[^1] 的第三个用法。表示中括号的值不是1 的所有情况匹配

《4》[]的第四个用法 [.]中的.就表示一个点了。

【9】、\s(小)表示可以匹配空格字符
\s 是匹配空白字符

【10】、\S(大) 是匹配除了换行的任何非空白字符的
如果您好中间有多个字符可以用 “(您\S+好)”进行匹配来完成

【11】、\w 的用法 【重点】------是与\S(大)比较相似
\w 的含义是[A-Za-z0-9_] 是与\S有区别的,比如\S是可以匹配到+号的

【12】、\W 是表示除了[A-Za-z0-9_]之外的所有字符
\W 是表示除了[A-Za-z0-9_]之外的所有字符,它恰好与\w相反的一个匹配功能。

【13】、Unicode汉字的提取
提取代码是 [\u4E00-\u9FA5]+

【14】、再次理解贪婪匹配

【15】 \d 的用法 是提取出数字

【16】、()表示一个组。
总结:正则表达式汇总表

总结案例:【经典案例】
案例一:
案例2 :

【1】python-正则表达式语法规范与案例的更多相关文章
- python的语法规范及for和while
1.缩进: 空白在Python中是重要的.事实上行首的空白是重要的.它称为缩进.在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组.这意味着同一层次的语句必须有相同的缩进 ...
- Python正则表达式语法
单个字符匹配 字符 匹配 . 匹配任意字符(除了\n) [...] 匹配字符集 \d/\D 匹配数字/非数字 \s/\S 匹配空白/非空白字符 \w/\W 匹配单词字符[a-zA-A0-9] In [ ...
- Python 正则表达式语法实例
- python 正则表达式语法
- Python 正则表达式模块 (re) 简介
Python 的 re 模块(Regular Expression 正则表达式)提供各种正则表达式的匹配操作,和 Perl 脚本的正则表达式功能类似,使用这一内嵌于 Python 的语言工具,尽管不能 ...
- Python正则表达式 学习笔记
python第一个正则表达式 1. import re : python正则表达式模块 2. 第一个正则表达式 re.compile(r'imooc') pattern.match('imooc py ...
- Python基础语法07--面向对象+正则表达式
Python 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触过 ...
- python基础语法及知识点总结
本文转载于星过无痕的博客http://www.cnblogs.com/linxiangpeng/p/6403991.html 在此表达对原创作者的感激之情,多谢星过无痕的分享!谢谢! Python学习 ...
- java正则表达式语法详解及其使用代码实例
原文地址 译者序(下载代码) 正则表达式善于处理文本,对匹配.搜索和替换等操作都有意想不到的作用.正因如此,正则表达式现在是作为程序员七种基本技能之一*,因此学习和使用它在工作中都能达到很高的效率. ...
随机推荐
- <MYSQL Index>
About Mysql 1. Mysql工作流程分析 2. Mysql单实例安装(5.6.31) DATABASE 1. 事务的4种隔离级别 ——————————————————Mysql管理———— ...
- MySQL 继续-- Win7 安装及后续工作
学MySQL 差不多了,就要实战,实战怎么能少得了软件. 一 : 下载软件 可以到 MySQL 官网直接下载 (社区版) : http://dev.mysql.com/downloads/mysql ...
- 三:vim常用快捷键
窗口移动操作: j或者Ctrl+e(就是Ctrl+e):向下细微滚动窗口. k或者Ctrl+y:向上细微滚动窗口. h:向左细微滚动窗口. l:向右细微滚动窗口. gg:跳转到页面的顶部. G(就是s ...
- JAVA实现加入收藏和设为首页---网摘
JS:加入收藏夹<script language="javascript">function bookmark(){window.external.AddFavorit ...
- 资源在Windows编程中的应用
学习目的 掌握菜单和对话框资源的创建和使用. 编写程序: 设计一个窗口应用程序, 其中有一个VC菜单, 该菜单下有"显示", "隐藏", "退出&qu ...
- Python爬虫初识
本文章是对网易云课堂中的Python网络爬虫实战课程进行总结.感兴趣的朋友可以观看视频课程.课程地址 爬虫简介 一段自动抓取互联网信息的程序 非结构化数据 没有固定的数据格式,如网页资料. 必须通过E ...
- Linux学习8-Linux常用命令(4)
链接命令 命令名称:ln 命令英文原意:link 命令所在路径:/bin/ln 执行权限:所有用户 功能描述:生成链接文件 语法:ln 选项[-s][原文件] [目标文件] 选项: -s 创建 ...
- 1px边框的渐变
<div class="box">banner</div> .box { width: 100px; height: 50px; line-height: ...
- Android 使用全局变量的问题
现在每天都在忙,而且一忙起来,就把写笔记的事情放在了后面,最近在写程序的时候,突然要使用全局变量,就按照以前的方式,写了一个类,然后把变量都声明为静态变量,然后做为全局变量使用,但是在进行Activi ...
- Bootstrap4使用教程
本篇文章写给那些第一次接触Bootstrap框架的学习者,这篇文章将从最基础最基础的Bootstrap下载开始.对Bootstrap有使用经验的同学可以忽略本篇文章. Bootstrap下载 第一种方 ...