python 正则式 概述及常用字符

 更新时间:2009年05月07日 00:48:56   作者:  
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 状态,使之被组织得更清晰易懂

相关文章

  • MATLAB如何利用散点进行函数曲线拟合

    MATLAB如何利用散点进行函数曲线拟合

    这篇文章主要介绍了MATLAB如何利用散点进行函数曲线拟合问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]

    Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]

    这篇文章主要介绍了Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n],文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • PyTorch中关于tensor.repeat()的使用

    PyTorch中关于tensor.repeat()的使用

    这篇文章主要介绍了PyTorch中关于tensor.repeat()的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • 如何利用python读取图片属性信息

    如何利用python读取图片属性信息

    这篇文章主要介绍了如何利用python读取图片属性信息,文章围绕python读取信息相关资料展开全文,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-03-03
  • python获取外网IP并发邮件的实现方法

    python获取外网IP并发邮件的实现方法

    下面小编就为大家带来一篇python获取外网IP并发邮件的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Python基于列表模拟堆栈和队列功能示例

    Python基于列表模拟堆栈和队列功能示例

    这篇文章主要介绍了Python基于列表模拟堆栈和队列功能,简单描述了队列与堆栈的特点,并结合列表相关函数分析了队列的出队、进队及堆栈的出栈、入栈等操作实现技巧,需要的朋友可以参考下
    2018-01-01
  • Python批量实现横屏转竖屏的视频处理工具

    Python批量实现横屏转竖屏的视频处理工具

    这篇文章主要为大家详细介绍了如何使用Python和Tkinter框架开发一个视频处理器应用,用于批量横屏转竖屏视频处理,支持多种视频格式和编码选择,需要的可以了解下
    2025-02-02
  • 学习Python爬虫前必掌握知识点

    学习Python爬虫前必掌握知识点

    这篇文章主要介绍了学习Python爬虫前,我们需要了解涉及爬虫的知识点,学习爬虫的知识点比较多,我们一起学习爬虫吧
    2021-04-04
  • Python日志库 Logoru介绍

    Python日志库 Logoru介绍

    Loguru是一个高效且易用的Python日志库,相较于传统的logging模块,它提供了简洁的API、自动化的日志处理、多线程安全等特点,Loguru支持日志级别管理、异常捕获、日志文件轮转与压缩、上下文信息添加等高级功能,感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • Python编程基础之构造方法和析构方法详解

    Python编程基础之构造方法和析构方法详解

    这篇文章主要为大家详细介绍了Python的构造方法和析构方法,使用Python编程基础,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01

最新评论