正则表达式
简单的范围的字符组
0-9 匹配所有的数字
a-z 匹配所有的小写字母
A-Z 匹配所有的大写字母
A-Za-z 匹配所有的字母 字符
. 换行符以外的任意字符
\w word 匹配数字,字母,下划线
\s space 匹配所有的空格符
\d digit 匹配数字 \W word 匹配非数字,字母,下划线
\S space 匹配非所有的空格符
\D digit 匹配非数字 \n 匹配换行符
\t tab 匹配制表符 ^ startwith 匹配字符串的开始,位置永远在最前
$ endswith 匹配字符串的结尾,位置永远在最后
^ $两个一起用可以约束中间的所有字符,但是要求全部完全匹配
| 或 从左向右,匹配上了就不匹配了,因此长的放在前面
ab|abc 先匹配ab,后面有abc也不会被选中 量词 量词放在后面只约束前面一个的要求
* 重复零次或更多次
+ 重复一次或更多次,重复一次得到的结果就是单字符。
? 重复零次或一次
如果放在量词后面表示非贪婪匹配,匹配最少
默认是贪婪匹配,匹配到最多
表示惰性匹配的时候会缓存后面一位表示结尾的指令。比如.*?x 表示取到x前面一个字符
放在分组前面,取消分组优先
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次 字符集
[] 匹配字符组中的字符
[^] 匹配除了字符组中字符的所有字符 分组
() 对整体的式子进行量词约束
在split的时候分组会保留被分割的字符
在findall的时候,会优先匹配分组内的内容
若不想优先,可以使用(?:)取消分组优先级 转义字符
\ python 里面的转义字符用 r'' flags
re.I(IGNORECASE)忽略大小写,括号内是完整的写法
re.M(MULTILINE)多行模式,改变^和$的行为
re.S(DOTALL)点可以匹配任意字符,包括换行符
re.L(LOCALE)做本地化识别的匹配,表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境,不推荐使用
re.U(UNICODE) 使用\w \W \s \S \d \D使用取决于unicode定义的字符属性。在python3中默认使用该flag
re.X(VERBOSE)冗长模式,该模式下pattern字符串可以是多行的,忽略空白字符,并可以添加注释

day21 正则表达式的更多相关文章

  1. java--字符编码,正则表达式

    转载请申明出处:http://blog.csdn.net/xmxkf day21   字符编码 06-IO流(转换流的字符编码) 字符编码: 1. 字符流的出现为了方便操作字符,更重要的是加入了编码转 ...

  2. day21:正则函数&模块和包(import)

    正则函数 1.search  通过正则匹配出第一个对象返回,通过group取出对象中的值 # search 通过正则匹配出第一个对象返回,通过group取出对象中的值 strvar = "1 ...

  3. JS正则表达式常用总结

    正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...

  4. Python高手之路【五】python基础之正则表达式

    下图列出了Python支持的正则表达式元字符和语法: 字符点:匹配任意一个字符 import re st = 'python' result = re.findall('p.t',st) print( ...

  5. C# 正则表达式大全

    文章导读 正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串.正则表达式无疑是处理文本最有力的工具,而.NET提供的Regex类实现了验证正则表达式的方法.Regex 类表示不可变(只读)的 ...

  6. C#基础篇 - 正则表达式入门

    1.基本概念 正则表达式(Regular Expression)就是用事先定义好的一些特定字符(元字符)或普通字符.及这些字符的组合,组成一个“规则字符串”,这个“规则字符串”用来判断我们给定的字符串 ...

  7. JavaScript正则表达式,你真的知道?

    一.前言 粗浅的编写正则表达式,是造成性能瓶颈的主要原因.如下: var reg1 = /(A+A+)+B/; var reg2 = /AA+B/; 上述两个正则表达式,匹配效果是一样的,但是,效率就 ...

  8. Python 正则表达式入门(中级篇)

    Python 正则表达式入门(中级篇) 初级篇链接:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我们说在这一篇里,我们会介绍子表达式,向前向 ...

  9. 【JS基础】正则表达式

    正则表达式的() [] {}有不同的意思. () 是为了提取匹配的字符串.表达式中有几个()就有几个相应的匹配字符串. (\s*)表示连续空格的字符串. []是定义匹配的字符范围.比如 [a-zA-Z ...

随机推荐

  1. 随机指定范围内N个不重复的数

    此为工具类,支持抽奖业务需求,具体实现见下方代码: package com.org.test; import java.util.ArrayList; import java.util.List; p ...

  2. java线程池和中断总结

    目录 java线程池和中断总结 一. 线程池的使用 二. java中断机制 中断的处理 三. 线程间通信机制总结 java线程池和中断总结 本系列文是对自己学习多线程和平时使用过程中的知识梳理,不适合 ...

  3. [Oracle][Partition][Controlfile]Partition 操作是否和 Controlfile有关?

    Partition 操作是否和 Controlfile有关? 通过实验来判断: 对比 Partition 前后的操作,看看controlfile 的dump 信息中是否有记录,结果发现没有记录在 co ...

  4. PV原语操作详解

    from http://www.blogjava.net/wxqxs/archive/2009/05/10/277320.html PV原语通过操作信号量来处理进程间的同步与互斥的问题.其核心就是一段 ...

  5. iOS开发简记(3):tips提示

    我有一个需求:在点击或长按某个按钮时,需要显示提示,包括简单的文字提示,还有复杂一点的图片甚至是动态图的提示(可能还要加上文字). (1)文字tips 使用之前介绍的qmuikit里面的QMUITip ...

  6. PHP 设置调试工具XDebug PHPStorm IDE

    先下载PHP扩展Xdebug https://xdebug.org, 可以复制自己的phpinfo粘贴到https://xdebug.org/wizard.php中, 会生成需要下载的版本, php. ...

  7. Python_复习_习题_29

    # 之前做得的题 以后再遇到能保证会# 下周二考 :所有的知识# 面试题:认真对待## 三元运算符# 接收结果的变量 = 条件为真的结果 if 条件 else 条件为假的结果# 接收结果的变量 = “ ...

  8. 1013 C. Photo of The Sky

    传送门 [http://codeforces.com/contest/1013/problem/C] 题意 输入一个n代表n颗星星,输入2n个数,其中任意两个数代表一颗行星的坐标,问你把n个星星围起来 ...

  9. 基于SSH框架的考勤管理系统的设计与实现

    基于SSH框架的考勤管理系统的设计与实现

  10. shiro课程的学习

    1.shiro的课程目标 (1)shiro的整体框架 各组件的概念 (2)shiro 认证 授权的过程 (3)shiro自定义的Reaml Filter (4)shiro session 管理 (5) ...