re正则表达式

正则表达式

re  regular expression ,regex,RE

正则表达式是用来简洁表达一组字符串的表达式,正则表达式是一种针对字符串表达“简洁”和“特征”的工具。

用途:

  • 表达文本类型的特征
  • 同时查找或替换一组字符串
  • 匹配字符串的全部或部分  最主要应用于字符串的匹配

Python导入re库

import re

正则表达式的使用,需要编译

编译:将符合正则表达式语法的字符串转换成正则表达式特征

re.compile()

常用表达式

re库的使用

re库使用raw string(原生字符串)来表示正则表达式,表示为:

r'text'

原生字符串:不包含对转义符再次转义的字符串

re库的主要功能函数

re.search()      返回match对象

re.match     ,从字符串开头进行匹配,返回match对象

re.findall    返回列表对象,返回全部符合匹配的子串

re.finditer  返回一个匹配结果的迭代类型,每一个迭代类型都是一个match对象

re.split()   将一个字符串按照正则表达式匹配结果进行分割,返回列表类型

re.search(pattern,string,flags=0)

pattern:正则表达式的字符串或者原生字符串表示

string:待匹配的字符串

flags:正则表达式的使用的控制标记  re.I :忽视大小写  re.M  :吧字符串的每一行当做开头进行匹配  re.S  操作符匹配所有字符,默认匹配除换行符之外的所有字符。

re库的另一种等价用法:

regex=re.compile(r'[1-9]d{5}')

regex.search('BIT 100081')

等价于

rst=re.search(r'[1-9]d{5}','BIT 100081')

 分组()

?P<>   给分组起名字

?:      取消分组的优先级

import re
print(re.findall("<(?P<tag_name>w+)>w+</(?P=tag_name)>","<h1>hello</h1>"))
print(re.search("<(?P<tag_name>w+)>w+</(?P=tag_name)>","<h1>hello</h1>"))
r=re.findall(r"<(?:w+)>w+</w+>","<h1>hello</h1>")
print(r)



》》》['h1']
》》》<_sre.SRE_Match object; span=(0, 14), match='<h1>hello</h1>'>
》》》['<h1>hello</h1>']
View Code
原文地址:https://www.cnblogs.com/yuyang26/p/7072776.html