正则表达式详解

        正则表达式(Regular Expression),又称正规表达式、规则表达式等,是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,也通常用来检索、替换那些匹配某个模式的文本。下面从以下方面开始讲述正则表达式在python中的应用。

re模块

1.在python中使用,首先需要导入一个包,即re模块

2.re模块示例


3.一般的使用步骤

(1)使用complie()函数将正则表达式的字符串形式编译为一个pattern对象

(2)通过pattern对象提供的一系列方法对文本进行匹配查找,获得匹配的结果

(3)这些pattern对象提供的方法有:


(4)示例

match():能够匹配出以xxx开头的字符串


search():从任何位置开始查找,一次匹配


findall():全部匹配,返回列表


finditer():全部匹配,返回迭代器


spilt():分割字符串,返回列表


sub():替换


字符

字符 作用
. 匹配任意1个字符(除\n)
[ ]
匹配[ ]中列举的字符
\d
匹配数字,即0-9
\D
匹配非数字,即不是数字
\w
匹配单词字符,即a-z、A-Z、0-9、_
\W
匹配非单词字符
\s
匹配空白,即 空格,tab键
\S
匹配非空白
. 匹配任意一个字符(除\n)

[ ] 匹配[ ]中列举的字符

\d 匹配数字,即0-9


\D 匹配非数字


\w 匹配单词字符


数量

字符 作用
* 匹配前一个字符出现0次或者无限次
+ 匹配前一个字符出现1次或者无限次,即至少有1次
匹配前一个字符出现1次或者0次
{m}
匹配前一个字符出现m次
{m,}
匹配前一个字符至少出现m次
{m,n}

匹配前一个字符出现从m到n次

* 匹配前一个字符出现0次或者无限次


+ 匹配前一个字符出现1次或者无限次,即至少有1次


{m} 匹配前一个字符出现m次


边界

字符 作用
^ 匹配字符串开头
$ 匹配字符串结尾
\b 匹配一个单词的边界
\B
匹配非单词边界

分组

字符 作用
| 匹配左右任意一个表达式
(ab)
将括号中字符作为一个分组
\num
引用分组num匹配到的字符串
(?P<name>)
分组起别名
(?P=name)
引用别名为name分组匹配到的字符串
| 匹配左右任意一个表达式

猜你喜欢

转载自blog.csdn.net/codingforhaifeng/article/details/79950180