正则表达式
一、概述
正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。Regular Expression的“Regular”一般被译为“正则”、“正规”、“常规”。此处的“Regular”即是“规则”、“规律”的意思,Regular Expression即“描述某种规则的表达式”之意。
二、在python中使用正则
在Python中需要通过正则表达式对字符串进行匹配的时候,可以使用一个模块,名字为re。
Match方法:re中的match函数是用来进行字符串正则匹配检查的,若字符串匹配正则表达式,则match方法返回匹配对象(Match Object),否则返回None(注意不是空字符串””)。匹配对象Macth Object具有group方法,用来返回字符串的匹配部分。
伪代码:
#coding=utf-8
# 导入re模块
import re
# 使用match方法进行匹配操作(返回一个对象)
result = re.match(正则表达式,要匹配的字符串)
# 如果上一步匹配到数据的话,可以使用group方法来提取数据(返回匹配到的字符串
result.group()
代码一及运行结果:
代码二及运行结果:
此时re.match()因没匹配到相对应的字符串,返回None,None中肯定没有group方法因此产生语法错误。
此时res的类型:
三、正则表达式表示字符
正则表达式的单字符匹配:
使用:
四、原始字符串
与大多数编程语言相同,正则表达式里使用"\"作为转义字符
,这就可能造成反斜杠困扰。假如你需要匹配文本中的字符”\”,那么使用编程语言表示的正则表达式里将需要4个反斜杠”\\”:前两个和后两个分别用于在编程语言里转义成反斜杠,转换成两个反斜杠后再在正则表达式里转义成一个反斜杠。
Python里的原生字符串很好地解决了这个问题,有了原始字符串,你再也不用担心是不是漏写了反斜杠,写出来的表达式也更直观。
五、表示数量的正则符号
匹配多个字符的相关格式
示例:
六、表示边界的正则符号
示例: