python 正则式 概述及常用字符

时间:2023-01-14 14:50:54 

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 状态,使之被组织得更清晰易懂

标签:python,正则式
0
投稿

猜你喜欢

  • Python新手入门之解释器的安装

    2023-02-14 15:41:52
  • Python爬虫爬取电影票房数据及图表展示操作示例

    2021-07-18 08:34:32
  • 从多个tfrecord文件中无限读取文件的例子

    2023-10-23 13:29:19
  • Python面向对象程序设计之私有变量,私有方法原理与用法分析

    2022-04-17 01:37:50
  • tensorflow 大于某个值为1,小于为0的实例

    2023-06-12 03:00:43
  • asp用err.raise自定义错误信息

    2007-09-12 19:38:00
  • 实例讲解Python中global语句下全局变量的值的修改

    2022-12-28 07:10:46
  • HTML中的setCapture和releaseCapture使用介绍

    2024-04-18 09:51:18
  • MySQL单表百万数据记录分页性能优化技巧

    2024-01-20 01:34:33
  • python里将list中元素依次向前移动一位

    2021-03-23 16:53:43
  • 使用微信助手搭建微信返利机器人流程

    2022-10-10 08:34:03
  • Python编程itertools模块处理可迭代集合相关函数

    2023-05-31 02:18:07
  • Python中摘要算法MD5,SHA1简介及应用实例代码

    2023-12-12 00:36:41
  • Python数学建模PuLP库线性规划入门示例详解

    2023-06-13 13:06:20
  • layui文件上传实现代码

    2024-05-22 10:36:34
  • AES算法 asp源码

    2009-08-28 13:05:00
  • Python关于OS文件目录处理的实例分享

    2022-12-29 08:52:07
  • 利用Python复制文件的9种方法总结

    2022-06-25 15:00:27
  • ASP--IP字段截取

    2009-05-26 15:47:00
  • php设计模式之正面模式实例分析【星际争霸游戏案例】

    2023-11-14 10:54:04
  • asp之家 网络编程 m.aspxhome.com