一.正则表达式

1.定义一个规则,检测某一段字符串是否符合规则,将符合规则的字符匹配出来。

2.只和字符串相关

3.字符组

描述一个字符位置的内容

3.1    [012345]检测0,1,2,3,4,5

3.2    [0-5]检测从0到5

3.3    不能是[9-5],不能由大到小来规定范围。

3.4    字符组的所有范围是指向ascii

3.5    [A-Z0-9a-z]   这里无逗号,分隔符

4.元字符:优先级从左至右

元字符                                属性     
\d 匹配数字digit
\w 匹配字母或数字或下划线word
\s 匹配任意空白(包括制表符,换行符,空格)space
\D 匹配非数字
\W 匹配非字母或数字或下划线
\S 匹配非空白字符
\n 匹配换行符
\t 匹配制表符Tab
\b 匹配一个单词结尾,开头结尾都可以
. 匹配换行符之外的所有
^ 匹配字符串的开始
$ 匹配字符串的结束
() 匹配括号内的表达式,也表示一个组
a|b 匹配字符a或者b
[] 匹配字符组内的字符
[^     ] 匹配除了字符组的所有字符

5.量词

量词 用法说明
* 重复0次或者多次
+ 重复一次或更多次
重复0次或者1次
{n} 重复n次
{n,} 重复n次或者多次
{n,m} 重复n到m次
示例 匹配项
\d+\.\d+ 小数
[1-9]\d*|0 整数
\d+\.\d+|([1-9]\d*|0) 整数或小数
\d+\.?\d* 整数或小数
\d+(\.\d+)  

注意:\d+\.\d*  这里会匹配出【1.】满足了条件  这样是不合理的。

5.贪婪匹配

在满足匹配时,匹配尽可能长的字符串,默认情况下,采用贪婪匹配。

\* 无线匹配
\+ 至少匹配一次
孙.{1,3} 孙匹配最多三次(贪婪)

6.转义

r:在字符串前加r,让整个字符串不转义。

7.惰性匹配

手动设置,尽可能少的匹配。

示例             用法
a.* 以a开头任意字符
a.*? ?控制.*  非贪婪取最少次
a.*x 首个a与最后一个x,连同之间都取出来(回溯算法)
a.*?x 首个a与首个x,连同之间都取出来

8.总结:

8.1 ret=sorted(list)      占内存,生成一个新的列表

8.2ret=reversed(list)      可迭代的iterator,用list包装

注意:list本身提供方法,对list自身进行修改。

   内置函数是在生成一个新的

8.3 random 不重复随机数据

choice   可能出现重复的数据

8.4

length//2===》abcabc》range(1,3)=》ab

length//2+1===》abcabc》range(1,4)=》abc

8.5

全球时间戳一样,只是结构化时间不一样  东八区北京和伦敦的时间区别

8.6

双端队列和列表区别:

效率——底层数据结构上

8.9

repr函数:

repr() 函数将对象转化为供解释器读取的形式。(之前掉过坑  print没打印出换行符,但是加了repr就显示出来了)

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

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

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

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

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

  3. C# 正则表达式大全

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

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

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

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

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

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

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

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

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

  8. JavaScript 正则表达式语法

    定义 JavaScript定义正则表达式有两种方法. 1.RegExp构造函数 var pattern = new RegExp("[bc]at","i"); ...

  9. [jquery]jquery正则表达式验证(手机号、身份证号、中文名称)

    数字判断方法:isNaN()函数 test()方法 判断字符串中是否匹配到正则表达式内容,返回的是boolean值 ( true / false ) // 验证中文名称 function isChin ...

随机推荐

  1. 一篇文章掌握RequireJS常用知识

    本文采取循序渐进的方式,从理论到实践,从RequireJS官方API文档中,总结出在使用RequireJS过程中最常用的一些用法,并对文档中不够清晰具体的内容,加以例证和分析,分享给大家供大家参考,具 ...

  2. git 命令常用总结

    详细git教程可参考:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 基础命令 用 ...

  3. Mac下软件包管理器-homebrew

    类似于redhat系统的yum,ubuntu的apt-get,mac系统下也有相应的包管理容器:homebrew.用法与apt-get.yum大同小异,都是对安装软件做一些安装删除类的命令行操作,以下 ...

  4. 【Java】Comparable和Comparator接口的区别

    Java提供了只包含一个compareTo()方法的Comparable接口.这个方法可以个给两个对象排序.具体来说,它返回负数,0,正数来表明已经存在的对象小于,等于,大于输入对象. Java提供了 ...

  5. Node入门教程(8)第六章:path 模块详解

    path 模块详解 path 模块提供了一些工具函数,用于处理文件与目录的路径.由于windows和其他系统之间路径不统一,path模块还专门做了相关处理,屏蔽了彼此之间的差异. 可移植操作系统接口( ...

  6. 删除最少字符生成Palindrome

    看到一个哥们G家电面试题,求删除最少字符生成Palindrome.大神们都在讨论dp,我完全想不到. 放一个没优化的DFS. 乐神说是O(n3)复杂度, 有机会的话要减少使用substring,并且要 ...

  7. 批量 kill mysql 线程

    时常有一些烂sql跑在数据库里,我们要进行kill,避免影响拖垮数据库. mysql> show processlist; +----+------+---------------------+ ...

  8. Java知多少(67)面向字符的输入流

    字符流是针对字符数据的特点进行过优化的,因而提供一些面向字符的有用特性,字符流的源或目标通常是文本文件. Reader和Writer是java.io包中所有字符流的父类.由于它们都是抽象类,所以应使用 ...

  9. FPGA编程—组合逻辑编码器等verilog实现

    本篇博客主要实现对组合逻辑电路的一些常用模块的实现.组合逻辑中,包括译码器,编码器,输入输出选择器,数值比较器,算法单元等.  先来实现编码器,最常用的8-3编码器,这里先讲一下要用到的case ,c ...

  10. MYSQL + MHA +keepalive + VIP安装配置(一)--MYSQL安装配置

    一.总概: 本文介绍了MySQL高可用性的实现方案MHA,MHA由Node和Manager组成,Node运行在每一台MySQL服务器上,不管是MySQL主服务器,还是MySQL从服务器,都要安装Nod ...