打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python 正则匹配总结
正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如 str 自带的方法,但功能十分强大。本文介绍了 Python 对于正则表达式的支持,包括正则表达式基础以及 Python 正则表达式标准库的完整介绍及使用示例。
1. 正则表达式基础
1.1 介绍
正则表达式并不是 Python 的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如 str 自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。
下图展示了使用正则表达式进行匹配的流程:
正则表达式的大致匹配过程是:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。
1.2 正则表达式模式
下表列出了 python 正则表达式模式语法中的特殊元素。如果你使用模式的同时提供了可选的标志参数,某些模式元素的含义会改变。
模式描述示例
字符
.匹配任意字符,除了换行符,当 re.DOTALL 标记被指定时,则可以匹配包括换行符的任意字符。a.c
\转义字符,使后一个字符改变原来的意思。如果字符串中有字符 * 需要匹配,可以使用 \* 或者字符集 [*]。a\.c 或者 a\\c
[...]字符集(字符类),用来表示一组字符。字符集中的字符可单独列出:[amk] 匹配 'a','m' 或 'k';也可以给出范围:[a-c] 匹配 'a','b' 或 'c'。a[bcd]e
[^...]不在 [] 中的字符:[^abc] 匹配除了 a,b,c 之外的字符。[^abc]
预定义字符集(可以写在字符集 [...] 中)
\d匹配任意数字,等价于 [0-9]。a\dc
\D匹配任意非数字,等价于 [^\d]。a\Dc
\s匹配任意空白字符,等价于 [<空格>\t\n\r\f\v]。a\sc
\S匹配任意非空字符,等价于 [^\s]。a\Sc
\w匹配字母数字及下划线:[a-zA-Z0-9_]。a\wc
\W匹配非字母数字及下划线:[^\w]。a\Wc
数量词(可用在字符或 [...] 后)
*匹配前一个字符 0 或无限次。abc*
+匹配前一个字符 1 次或无限次。abc+
?匹配前一个字符 0 次或 1 次。abc?
{m}匹配前一个字符 m 次。ab{2}c
{m,n}匹配前一个字符 m 至 n 次。m 和 n 可以省略:如省略 m,则匹配 0 至 n 次;如省略 n,则匹配 m 至无限次。ab{1,2}cd
https://www.cnblogs.com/wxshi/p/6827056.html
http://www.runoob.com/python/python-reg-expressions.html
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python3正则表达式(一)基本语法规则
Python正则表达式之基础篇
还不会正则表达式?看这篇!
正则表达式速查表
只需十分钟,浅识正则表达式
Python正则
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服