正则表达式
简单的范围的字符组
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. Codeforces round 1083

    Div1 526 这个E考试的时候没调出来真的是耻辱.jpg A 求个直径就完事 #include<cstdio> #include<algorithm> #include&l ...

  2. POJ1275 Cashier Employment 二分、差分约束

    传送门 题意太长 为了叙述方便,将题意中的$0$点看作$1$点,$23$点看做$24$点 考虑二分答案(其实从小到大枚举也是可以的) 设$x_i$是我们选的雇员第$i$小时开始工作的人数,$s_i$是 ...

  3. React-理解Redux

    Redux是什么? 是专于状态管理的库 专于状态管理和react解耦 单一状态,单项数据流 核心概念 store state action reducer Redux工作流 react 要改变stor ...

  4. LiveCharts文档-1前言

    原文:LiveCharts文档-1前言 LiveCharts文档-1前言 最近做一个企业应用,客户端使用的是WPF,需要生成一个漂亮的统计图表,以前WinForm有Chart控件,但是微软貌似没有弄W ...

  5. WPF中的Bitmap与byte

    原文:WPF中的Bitmap与byte public MainWindow() { InitializeComponent(); byte[] b = GetPictureData(@"F: ...

  6. Mvc_扩展@html

    HtmlHelper的一个实例,它被定义在System.Web.Mvc名称空间下的WebViewPage类,即它对于所有MVC页面都可用)建立好扩展方法后: @Html.CreateGanderRad ...

  7. sqli-labs less 5-6

    sqli-labs less 5-6 从源代码中可以看到,运行返回结果正确的时候只返回you are in....,不会返回数据库当中的信息了,以前的union联合查询就不能用了,开始尝试盲注. 简单 ...

  8. C-代码笔记-输入输出

    .ACSII 字符实质和整数存储方式相同 //2018年9月16日01:35:54 # include <stdio.h> int main(void) { '; // printf(&q ...

  9. swift 各种学习

    swift使用cocoapods引用oc第三方库 1. 创建桥接文件 2. 在主工程的 build Settings 搜索 bridge   设置 Objective-C Bridging Headi ...

  10. STL next_permutation()

    用法 字典序全排列 可以发现函数next_permutation()是按照字典序产生排列的,并且是从数组中当前的字典序开始依次增大直至到最大字典序. 代码 #include<iostream&g ...