参考文档:python正则表达式

正则表达式定义:正则是一门高度专业编程语言,内嵌在其他语言(python re模块)中使用。正则表达式包含元字符(metacharacter)列表,列表如下: . ^ $ * + ? { [ ] \ | ( ),这些元字符只有在合适的位置才可以发挥作用

1. []用来指定一个我们想要字符串的集合,字符串可以单独列出,也可以通过"-"连接表示范围,例如[abc]匹配abc中如何一个元素,可以用[a-c]表示。

2 . [^]可以用补集来匹配不存在此空间范围内的字符,其做法是把"^"作为类别的首个字符;其他地方的"^"只会简单匹配“^”字符本身。例如

In [35]: m = re.search("^ab+", "asdfabbbb")

In [36]: print m
None In [37]: m = re.search("^ab+", "absdfabbbb") In [38]: print m
<_sre.SRE_Match object at 0x7f8bc2466c60> In [39]: print m.group()
ab

效果如同使用re.match()函数,

In [43]: m2 = re.match("ab+", "absdfabbbb")

In [44]: print m2
<_sre.SRE_Match object at 0x7f8bc2466e68> In [45]: print m2.group()
ab
In [51]: m2 = re.match("ab+", "absdfabbbb\nabcdefghijklmn", re.MULTILINE)

In [52]: print m2.group()
ab

总结match和search函数,两者都是找到就返回匹配结果,不会继续查找,如果需要查找所有行,那么需要调用re.findall()

In [58]: m2 = re.findall("ab+","absdfabbbb\nabcdefghijklmn" )

In [59]: print re.fi
re.findall re.finditer In [59]: print m2
['ab', 'abbbb', 'ab']

3. 元字符(\),元字符backslash。"\"后面加反斜杠表示特殊意义。它可以用来取消元字符,这样元字符就是普通字符。

4. 元字符($)匹配字符串的结尾或者字符串结尾的换行之前。(在MULTILINE模式下,"$"也匹配换行之前)正则表达式"foo"既匹配"foo"又匹配"foobar",而"foo$"仅仅匹配"foo"

5.元字符(*),匹配0个或多个

6.元字符(?),匹配一个或者0个

7.元字符(+), 匹配一个或者多个
8,元字符(|), 表示"或",如A|B,其中A,B为正则表达式,表示匹配A或者B

9.元字符({})

{m},用来表示前面正则表达式的m次copy,如"a{5}",表示匹配5个”a”,即"aaaaa"

正则语法笔记-regular expression note的更多相关文章

  1. Regular Expression Syntax

    python的正则表达式 正则表达式的概念 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规 ...

  2. LeetCode 失败的尝试 10. regular expression matching & 正则

    Regular Expression Matching 看到正则就感觉头大,因为正则用好了就很强大.有挑战的才有意思. 其实没有一点思路.循环的话,不能一一对比,匹配模式解释的是之前的字符.那就先遍历 ...

  3. Java基础-正则表达式(Regular Expression)语法规则简介

    Java基础-正则表达式(Regular Expression)语法规则简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.正则表达式的概念 正则表达式(Regular Exp ...

  4. 《LeetBook》leetcode题解(10): Regular Expression Matching——DP解决正则匹配

    我现在在做一个叫<leetbook>的免费开源书项目,力求提供最易懂的中文思路,目前把解题思路都同步更新到gitbook上了,需要的同学可以去看看 书的地址:https://hk029.g ...

  5. 正则表达式-Regular expression学习笔记

    正则表达式 正则表达式(Regular expression)是一种符号表示法,被用来识别文本模式. 最近在学习正则表达式,今天整理一下其中的一些知识点 grep - 打印匹配行 grep 是个很强大 ...

  6. 【leetcode刷题笔记】Regular Expression Matching

    Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...

  7. Python正则表达式Regular Expression基本用法

    资料来源:http://blog.csdn.net/whycadi/article/details/2011046   直接从网上资料转载过来,作为自己的参考.这个写的很清楚.先拿来看看. 1.正则表 ...

  8. [转载]正则表达式参考文档 - Regular Expression Syntax Reference.

    正则表达式参考文档 - Regular Expression Syntax Reference. [原创文章,转载请保留或注明出处:http://www.regexlab.com/zh/regref. ...

  9. java 正则表达式 -Regular Expression

    正则表达式(Regular Expression),可以说就是一个字符构成的串,它定义了一个用来搜索匹配字符串的模式.正则表达式定义了字符串的模式,可以用来搜索.编辑或处理文本,不仅限于某一种语言(P ...

随机推荐

  1. icon

    <link rel="icon" href="favicon.ico" type="image/x-icon"> <lin ...

  2. 赵雅智_BroadcastReceiver

    BroadcastReceiver  用于接收程序(包含用户开放的程序和系统内建程序)所发出的Broadcast intent 耗电量 开机启动 窃取别人短信 窃取别人电话 开发: 创建须要启动的Br ...

  3. Tomcat的JVM内存大小如何设置?【转】

    [转]:专家答疑 Tomcat的JVM内存大小如何设置? 本文和大家重点讨论一下如何设置Tomcat的JVM内存大小,JAVA程序启动时JVM都会分配一个初始内存和最大内存给这个应用程序.这个初始内存 ...

  4. Unity3D-第一视角射击游戏

    一.新建关卡 File,Save Scene,File,New Scene,File,Save Scene as... ,Level02.unity 1.建立场景 从Assets中拖放场景模型到Hie ...

  5. HTML之学习笔记(十一)其它标签

    1.下拉列表和下拉框(select标签) winform中的ComboBox和ListBox在HTML中都是<select>标签,使用option标签添加列表中的数据. 格式: <s ...

  6. 转载:SQL语句Where中使用别名作为判断条件

    原文地址:http://www.cnblogs.com/dwfbenben/p/3307941.html 当我们使用某个表达式作为输出的一列时,我们无法再Where条件中直接使用该列作判断条件.   ...

  7. VS插件

    VS插件 背景 前些天去考科目二,感觉经历了一场不是高考却胜似高考的考试(10年前的5分之差, 还是难以释怀)!    一行八人,就我学的时间最少(4天,8人一辆车),教练都觉得我肯定还得再来一次! ...

  8. Python 中psutil 模块的安装

    第一步下载psutil 的安装包 网址:https://pypi.python.org 第二步解压 .tar.gz cd psutil- 第三步安装: python setup.py build py ...

  9. MySQL 复制

    第一步:为配置主数据库与备数据库 主:server_id = 1      log_bin = E:\mysql_log_bin #复制事实上是二进制文件在备库上的重做,所以要支持二进制文件. 备: ...

  10. 用rsync从Linux到Windows远程备份

    论 rsync是Linux系统下的数据镜像备份工具,从软件的命名上就可以看出来 了——remote sync.rsync支持大多数的类Unix系统,无论是Linux.Solaris还是BSD上都经过了 ...