python:正则0
Python3 正则表达式特殊符号及用法(详细列表)
正则表达式的强大之处在于特殊符号的应用,特殊符号定义了字符集合、子组匹配、模式重复次数。正是这些特殊符号使得一个正则表达式可以匹配字符串集合而不只是一个字符串。
注1:为了便于理解,难点的地方均用斜体举了栗子。
注2:如果你对正则表达式一头雾水或者看不懂下边这个列表,那么小甲鱼极力推荐你先学习这个:Python3 如何优雅地使用正则表达式
|
字符 |
含义 |
|
. |
表示匹配除了换行符外的任何字符 |
|
| |
A | B,表示匹配正则表达式 A 或者 B |
|
^ |
1. (脱字符)匹配输入字符串的开始位置 |
|
$ |
1. 匹配输入字符串的结束位置 |
|
\ |
1. 将一个普通字符变成特殊字符,例如 \d 表示匹配所有十进制数字 |
|
[...] |
字符类,匹配所包含的任意一个字符 |
|
{M,N} |
M 和 N 均为非负整数,其中 M <= N,表示前边的 RE 匹配 M ~ N 次 |
|
* |
匹配前面的子表达式零次或多次,等价于 {0,} |
|
+ |
匹配前面的子表达式一次或多次,等价于 {1,} |
|
? |
匹配前面的子表达式零次或一次,等价于 {0,1} |
|
*?, +?, ?? |
默认情况下 *、+ 和 ? 的匹配模式是贪婪模式(即会尽可能多地匹配符合规则的字符串);*?、+? 和?? 表示启用对应的非贪婪模式。 |
|
{M,N}? |
同上,启用非贪婪模式,即只匹配 M 次 |
|
(...) |
匹配圆括号中的正则表达式,或者指定一个子组的开始和结束位置 |
|
(?...) |
(? 开头的表示为正则表达式的扩展语法(下边这些是 Python 支持的所有扩展语法) |
|
(?aiLmsux) |
1. (? 后可以紧跟着 'a','i','L','m','s','u','x' 中的一个或多个字符,只能在正则表达式的开头使用 |
|
(?:...) |
非捕获组,即该子组匹配的字符串无法从后边获取 |
|
(?P<name>...) |
命名组,通过组的名字(name)即可访问到子组匹配的字符串 |
|
(?P=name) |
反向引用一个命名组,它匹配指定命名组匹配的任何内容 |
|
(?#...) |
注释,括号中的内容将被忽略 |
|
(?=...) |
前向肯定断言。如果当前包含的正则表达式(这里以 ... 表示)在当前位置成功匹配,则代表成功,否则失败。一旦该部分正则表达式被匹配引擎尝试过,就不会继续进行匹配了;剩下的模式在此断言开始的地方继续尝试。 |
|
(?!...) |
前向否定断言。这跟前向肯定断言相反(不匹配则表示成功,匹配表示失败)。 |
|
(?<=...) |
后向肯定断言。跟前向肯定断言一样,只是方向相反。 |
|
(?<!...) |
后向否定断言。跟前向肯定断言一样,只是方向相反。 |
|
(?(id/name)yes-pattern|no-pattern) |
1. 如果子组的序号或名字存在的话,则尝试 yes-pattern 匹配模式;否则尝试 no-pattern 匹配模式 |
|
\ |
下边列举了由字符 '\' 和另一个字符组成的特殊含义。注意,'\' + 元字符的组合可以解除元字符的特殊功能 |
|
\序号 |
1. 引用序号对应的子组所匹配的字符串,子组的序号从 1 开始计算 |
|
\A |
匹配输入字符串的开始位置 |
|
\Z |
匹配输入字符串的结束位置 |
|
\b |
匹配一个单词边界,单词被定义为 Unidcode 的字母数字或下横线字符 |
|
\B |
匹配非单词边界,其实就是与 \b 相反 |
|
\d |
1. 对于 Unicode(str 类型)模式:匹配任何一个数字,包括 [0-9] 和其他数字字符;如果开启了 re.ASCII 标志,就只匹配 [0-9] |
|
\D |
匹配任何非 Unicode 的数字,其实就是与 \d 相反;如果开启了 re.ASCII 标志,则相当于匹配 [^0-9] |
|
\s |
1. 对于 Unicode(str 类型)模式:匹配 Unicode 中的空白字符(包括 [ \t\n\r\f\v] 以及其他空白字符);如果开启了 re.ASCII 标志,就只匹配 [ \t\n\r\f\v] |
|
\S |
匹配任何非 Unicode 中的空白字符,其实就是与 \s 相反;如果开启了 re.ASCII 标志,则相当于匹配 [^ \t\n\r\f\v] |
|
\w |
1. 对于 Unicode(str 类型)模式:匹配任何 Unicode 的单词字符,基本上所有语言的字符都可以匹配,当然也包括数字和下横线;如果开启了 re.ASCII 标志,就只匹配 [a-zA-Z0-9_] |
|
\W |
匹配任何非 Unicode 的单词字符,其实就是与 \w 相反;如果开启了 re.ASCII 标志,则相当于 [^a-zA-Z0-9_] |
|
转义符号 |
正则表达式还支持大部分 Python 字符串的转义符号:\a,\b,\f,\n,\r,\t,\u,\U,\v,\x,\\ |
python:正则0的更多相关文章
- Python正则式的基本用法
Python正则式的基本用法 1.1基本规则 1.2重复 1.2.1最小匹配与精确匹配 1.3前向界定与后向界定 1.4组的基本知识 2.re模块的基本函数 2.1使用compile加速 2.2 ma ...
- python 正则,常用正则表达式大全
Nginx访问日志匹配 re.compile #re.compile 规则解释,改规则必须从前面开始匹配一个一个写到后面,前面一个修改后面全部错误.特殊标准结束为符号为空或者双引号: 改符号开始 从 ...
- Python正则处理多行日志一例
正则表达式基础知识请参阅<正则表达式基础知识>,本文使用正则表达式来匹配多行日志并从中解析出相应的信息. 假设现在有这样的SQL日志: SELECT * FROM open_app WHE ...
- Python正则替换字符串函数re.sub用法示例(1)
本文实例讲述了Python正则替换字符串函数re.sub用法.分享给大家供大家参考,具体如下: python re.sub属于python正则的标准库,主要是的功能是用正则匹配要替换的字符串然后把它替 ...
- Python正则处理多行日志一例(可配置化)
正则表达式基础知识请参阅<正则表达式基础知识>,本文使用正则表达式来匹配多行日志并从中解析出相应的信息. 假设现在有这样的SQL日志: SELECT * FROM open_app WHE ...
- 认识python正则模块re
python正则模块re python中re中内置匹配.搜索.替换方法见博客---python附录-re.py模块源码(含re官方文档链接) 正则的应用是处理一些字符串,phthon的博文python ...
- python正则非贪婪模式
上一篇python正则匹配次数大家应该也发现了,除了?其他匹配次数规则都是尽可能多的匹配 那如果只想匹配1次怎么办呢,这就是正则中非贪婪模式的概念了 原理就是利用?与其他匹配次数规则进行组合 单个匹配 ...
- python 2.4 与 python 3.0 的比较
转过来,留着日后查看 [转自:]http://hi.baidu.com/autoitcn/blog/item/5f41973294b5fc4fac4b5f77.html python 2.4 与 py ...
- Python 3.0(一) 简介
Python 3.0(一) 简介 [目录] 1.简介 2.python特点 3.安装 简介: Python是可以称得上即简单又功能强大的少有的语言中的一种.你将会惊喜地发现,专注于问题的解决方案而不是 ...
- python 正则使用笔记
python正则使用笔记 def remove_br(content): """去除两边换行符""" content = content.r ...
随机推荐
- libevent::事件
/***************************************************************** 函数功能: 创建事件集 ********************* ...
- Python编程系列---Python中装饰器的几种形式及万能装饰器
根据函数是否传参 是否有返回值 ,可以分析出装饰器的四种形式: 形式一:无参无返回值 def outer(func): def wrapper(): print("装饰器功能1" ...
- Django之CBV视图源码分析(工作原理)
1.首先我们先在urls.py定义CBV的路由匹配. FBV的路由匹配: 2.然后,在views.py创建一名为MyReg的类: 注意:该类必须继续View类,且方法名必须与请求方式相同(后面会详解) ...
- next day
#_*_coding:utf_*_#!/usr/bin/env python now_day=input('当前某一天:').format('%Y.%m.%d')%%输入日期(年.月.日) year= ...
- 部署acfs笔记
acfs问题分析 环境描述 某电力项目创建了两个磁盘组,分别是OGGEXT和OGGREP,利用这两个磁盘组划分了两个acfs文件系统,之后,cloud监控就一直在报磁盘空间不足,但是这两个文件系统的使 ...
- Zookeeper与HBase的安装
一.Zookeeper的安装 1.http://www-us.apache.org/dist/zookeeper/stable/下载Zookeeper安装包,并将zookeeper-3.4.12.ta ...
- style.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- centos 7 防火墙firewall 与iptables 的一些常用命令
CentOS 7的防火墙配置跟以前版本有很大区别,CentOS7这个版本的防火墙默认使用的是firewall,与之前的版本使用iptables不一样. firewall常用命令 service fir ...
- 前端技术之:通过plop生成Controller的方法与步骤
# Controller的生成 开发者可以通过plop命令生成各种类型的控制器类(Normal.Restful.View), 以下是示例生成步骤. 1. 执行以下命令: plop controller ...
- vps配置脚本备个份
#!/bin/bash apt-get update -y apt-get dist-upgrade -y apt-get install -y nmap vim build-essential gc ...