正则表达式re模块的基础及简单应用

Posted 123anqier-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式re模块的基础及简单应用相关的知识,希望对你有一定的参考价值。

一、re的简介

  • re模块是python独有的匹配字符串的模块
  • 该模块中的很多功能是基于正则表达式实现

二、正则表达式的基础语法

元字符匹配内容说明
. 匹配除换行符以外的任意字符
w 匹配字母或数字或下划线
s 匹配任意的空白符
d 匹配数字
匹配一个换行符
匹配一个制表符
 匹配一个单词的结尾
^ 匹配字符串的开始
$ 匹配字符串的结束
W 匹配非字母或数字或下划线
D 匹配非数字
S 匹配非空白符
a|b 匹配字符a或字符b
() 匹配括号内的表达式,也表示一个组
[] 匹配字符组中的字符
[^] 匹配除了字符组中字符的所有字符

正则表达式中的量词

量词用法说明
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次

三、正则表达式的基础使用

1、re中的group() 用法

#创建正则表达式对象
str_c = re.compile(‘hellod8‘)
#group()方法得到匹配的字符串,如果字符串没有匹配,则返回None
value = str_c.match(‘hello88‘).group()
print( value )

输出的结果为:hello58

2、其他用法举例

str1 = "come on! newdream "
str2 = "china1usa2german3english"

pattern0 = re.compile( r"(w+),(w+) (w+)(?P<sign>.*)" ) #加了原生字符串
pattern1 = re.compile( r"come (w+)!" )
pattern2 = re.compile( r"d" )


# result1 = re.search( pattern1,str1 ) #扫描整个string查找匹配
# result1 = re.split( pattern2,str2 ) #以数字切割
# result1 = re.findall( pattern2,str2 ) #搜索string,以列表形式返回全部能匹配的子串
result1 = re.finditer( pattern2,str2 ) #返回的是迭代器,列表输出
for r in result1:
print(r.group())
print(result1)

切割的另外一种写法,以数字切割举例:
# 写法二:
str2 = "china1user2man3english"
v_list = re.split( r"d" ,str2 )
print( v_list )



参考链接:https://www.cnblogs.com/dream66/p/12953729.html

 

以上是关于正则表达式re模块的基础及简单应用的主要内容,如果未能解决你的问题,请参考以下文章

python 正则表达式 re模块基础

正则及re模块-基础

python基础学习(十三)

python基础学习笔记(十三)

学不会的python之正则表达式详解(re模块)

学不会的python之正则表达式详解(re模块)