python 正则式 概述及常用字符

1.元字符:
. 它匹配除了换行字符外的任何字符,在 alternate 模式(re.DOTALL)下它甚至可以匹配换行
^ 匹配行首。除非设置 MULTILINE 标志,它只是匹配字符串的开始。
$ 匹配行尾,行尾被定义为要么是字符串尾,要么是一个换行字符后面的任何位置。
* 重复0或N次
+ 重复1或N次
? 重复0或1次
{} 该限定符的意思是至少有 m 个重复,至多到 n 个重复
[] 它们常用来指定一个字符类别,所谓字符类别就是你想匹配的一个字符集
\ 反斜杠后面可以加不同的字符以表示不同特殊意义。它也可以用于取消所有的元字符,这样你就可以在模式中匹配它们了
| 可选项,或者 "or" 操作符。
() 组
2.[akm$]将匹配字符"a", "k", "m", 或 "$" 中的任意一个;"$"通常用作元字符,但在字符类别里,其特性被除去,恢复成普通字符。
3.用 "\" 开始的特殊字符所表示的预定义字符集
\d 匹配任何十进制数;它相当于类 [0-9]。
\D 匹配任何非数字字符;它相当于类 [^0-9]。
\s 匹配任何空白字符;它相当于类 [ \t\n\r\f\v]。
\S 匹配任何非空白字符;它相当于类 [^\t\n\r\f\v]。
\w 匹配任何字母数字字符;它相当于类 [a-zA-Z0-9_]。
\W 匹配任何非字母数字字符;它相当于类 [^a-zA-Z0-9_]。
\A 只匹配字符串首。当不在 MULTILINE 模式,\A 和 ^ 实际上是一样的。然而,在 MULTILINE 模式里它们是不同的;\A 只是匹配字符串首,而 ^ 还可以匹配在换行符之后字符串的任何位置。
\Z 只匹配字符串尾。
\b 单词边界。这是个零宽界定符(zero-width assertions)只用以匹配单词的词首和词尾。单词被定义为一个字母数字序列,因此词尾就是用空白符或非字母数字符来标示的。
\B 另一个零宽界定符(zero-width assertions),它正好同 \b 相反,只在当前位置不在单词边界时匹配。
4.重复元字符
* 重复0或N次
+ 重复1或N次
? 重复0或1次
{m,n},其中 m 和 n 是十进制整数。该限定符的意思是至少有 m 个重复,至多到 n 个重复
5.RegexObject对象常用方法
match() 决定 RE 是否在字符串刚开始的位置匹配
search() 扫描字符串,找到这个 RE 匹配的位置
findall() 找到 RE 匹配的所有子串,并把它们作为一个列表返回
finditer() 找到 RE 匹配的所有子串,并把它们作为一个迭代器返回
6.MatchObject对象的常用方法
group() 返回被 RE 匹配的字符串
start() 返回匹配开始的位置
end() 返回匹配结束的位置
span() 返回一个元组包含匹配 (开始,结束) 的位置
7.编译标志
DOTALL, S     使 . 匹配包括换行在内的所有字符
IGNORECASE, I     使匹配对大小写不敏感
LOCALE, L     做本地化识别(locale-aware)匹配
MULTILINE, M     多行匹配,影响 ^ 和 $
VERBOSE, X     能够使用 REs 的 verbose 状态,使之被组织得更清晰易懂

(0)

相关推荐

  • python 正则式 概述及常用字符

    1.元字符: . 它匹配除了换行字符外的任何字符,在 alternate 模式(re.DOTALL)下它甚至可以匹配换行 ^ 匹配行首.除非设置 MULTILINE 标志,它只是匹配字符串的开始. $ 匹配行尾,行尾被定义为要么是字符串尾,要么是一个换行字符后面的任何位置. * 重复0或N次 + 重复1或N次 ? 重复0或1次 {} 该限定符的意思是至少有 m 个重复,至多到 n 个重复 [] 它们常用来指定一个字符类别,所谓字符类别就是你想匹配的一个字符集 \ 反斜杠后面可以加不同的字符以表示

  • 使用Python 正则匹配两个特定字符之间的字符方法

    如下所示: # -*- coding: cp936 -*- import re   string = "xxxxxxxxxxxxxxxxxxxxxxxx entry '某某内容' for aaaaaaaaaaaaaaaaaa" result = re.findall(".*entry(.*)for.*",string) for x in result:     print x # '某某内容' 以上这篇使用Python 正则匹配两个特定字符之间的字符方法就是小编分享

  • python 正则式使用心得

    1.match() 从开始位置开始匹配 2.search() 任意位置匹配,如果有多个匹配,只返回第一个 3.finditer() 返回所有匹配 4.每次匹配,都是尽量最大匹配.例如: >>> m = re.compile('abc[bcd]*b') >>> m.findall('abcbcbcb') ['abcbcbcb'] 其实abcbcb也是匹配的abc[bcd]*b的,不过只返回一个最大的匹配值. 5.split()方法 a.根据正则式划分字符串,可指定最大的划

  • python 正则表达式 概述及常用字符

    1.元字符: . 它匹配除了换行字符外的任何字符,在 alternate 模式(re.DOTALL)下它甚至可以匹配换行 ^ 匹配行首.除非设置 MULTILINE 标志,它只是匹配字符串的开始. $ 匹配行尾,行尾被定义为要么是字符串尾,要么是一个换行字符后面的任何位置. * 重复0或N次 + 重复1或N次 ? 重复0或1次 {} 该限定符的意思是至少有 m 个重复,至多到 n 个重复 [] 它们常用来指定一个字符类别,所谓字符类别就是你想匹配的一个字符集 \ 反斜杠后面可以加不同的字符以表示

  • python ip正则式

    ip正则式为:r'(([12][0-9][0-9]|[1-9][0-9]|[1-9])\.){3,3}([12][0-9][0-9]|[1-9][0-9]|[1-9])' 以下为一个示例 #-*- coding:utf-8 -*- import re def ip(): '验证IP的正则式' def match_group(p): s = '''211.210.209.108 gan ffad1.210.2.108 d ffad1.210.2.109afa''' com = re.compile

  • python正则-re的用法详解

    天在刷题的时候用到了正则,用的过程中就感觉有点不太熟练了,很久没有用正则都有点忘了.所以现在呢,我们就一起来review一下python中正则模块re的用法吧. 今天是review,所以一些基础的概念就不做介绍了,先来看正则中的修饰符以及它的功能: 修饰符 •re.I 使匹配对大小写不敏感 •re.L 做本地化识别匹配 •re.M 多行匹配,影响^和$ •re.S 使.匹配包括换行在内的所有字符 •re.U 根据Unicode字符集解析字符.这个标志影响\w \W \b \B •re.X 该标志

  • python轻量级orm框架 peewee常用功能速查详情

    目录 一.常见orm数据库框架 1.peewee 简单demo 二.Model 和 Field 关系 三.Model 模型 四.Filed 字段 1.字段初始化参数 2.字段特有参数 3.字段默认参数 4.索引 五.基本操作 增删改查 1.创建 2.删除 3.更新 4.查询 5.事务 6.过滤 7.记录分类 8.计数 9.分页 六.聚合查询 七.Scalar 八.窗口 九.复杂筛选 1.查询中支持的筛选运算符 2.筛选方法 3.联合查询逻辑操作 十.SQL 方法 1.SQL helper 2.安

  • python去掉空格的一些常用方式

    目录 前言: 1.去掉左边空格 2.去掉右边空格 3.去掉左右两边空格 4.去掉所有空格 总结 前言: 处理字符串时经常要定制化去掉无用的空格,python 中要么用存在的常规方法,或者用正则处理 1.去掉左边空格 string = " * it is blank space test * " print (string.lstrip()) result: * it is blank space test * 2.去掉右边空格 string = " * it is blank

  • Python 推导式、生成器与切片问题解决思路

    推导式.生成器与切片 一.实验要求 1.理解并掌握序列中的常用操作.2.理解并掌握推导式.切片等用法并能解决实际问题. 二.实验内容 1,编写程序,测试字符的出现频率. #use dict method1 data = ['a','2',2,3,6,'2','b',4,7,2,'6','d',6,'a','z'] frequences=dict() for item in data: if item in frequences: frequences[item] += 1 else: frequ

  • Python进阶篇之正则表达式常用语法总结

    目录 正则表达式概述 1.点-匹配所有字符 2.星号-重复匹配任意次 3.加号-重复匹配多次 4. 花括号-匹配指定次数 5. 问号-贪婪模式和非贪婪模式 6.方括号-匹配几个字符之一 7.起始位置和单行.多行模式 8.括号-组选择 9.反斜杠-对元字符的转义 10.修饰符-可选标志 11.使用正则表达式切割字符串 正则表达式概述 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模

随机推荐