Python正则表达式整理

Python正则表达式整理

一、正则表达式介绍

在不使用正则表达式的情况下,我们想要实现字符串的匹配就必须要单独的创建一个函数,通过调用函数来实现;为了减少代码的编写,我们不妨将这些函数抽象出来,成为一个规则。

正则表达式概念

1、使用单个字符串来描述匹配一系列符合某个句法规则的字符串

2、是对字符串操作的一种逻辑公式

3、应用场景:处理文本和数据

4、正则表达式过程:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功;否则匹配失败。

二、正则表达式re模块

1、导入re模块

import re

2、正则表达式过程

例如:

首先调用re中的compile方法,生成一个Pattern对象,然后调用这个pattern对象的match等方法;

三、正则表达式语法

(一)匹配单个字符

其中,“.”表示可以匹配任意字符,例如re.match(r'{b}','{a}')是无法匹配的,但是re.match(r'{.}','{a}')可以匹配成功;

“[....]”表示匹配中括号中的任意字符,例如:re.match(r'{[abc]}','{a}')是匹配的,但是re.match(r'{[abc]}','{d}')是不能匹配的;

后面的字符分别表示的是:

  1. “\d”表示匹配数字,“\D”表示匹配非数字;
  2. “\s”表示的是空白,“\S”表示的是非空白;
  3. “\w”表示的是单词字符(包括a-z,A-Z,0-9),“\W”表示的是非单词字符;

如果要匹配“[a]”这种中括号里面含有任意字符的情况,那么需要在正则表达式中添加转译符。

ma = re.match(r'\[[\w]\]','[a]')

(二)匹配多个字符

(三)字符串的边界匹配

其中,“\A”表示指定的字符串必须在开头,例如:ma = re.match(r'\Aimooc[\w]*','imoocpython')可以匹配,但是ma = re.match(r'\Aimooc[\w]*','iimoocpython')不能匹配;同理,“\Z”表示指定字符串必须在结尾。

(四)分组匹配

其中,第三种情况多用于匹配xml文件中的标签是否有效;

猜你喜欢

转载自blog.csdn.net/qq_36125072/article/details/85028256