• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

python中re模块与正则表达式的介绍(附代码)

python 搞代码 4年前 (2022-01-09) 27次浏览 已收录 0个评论
文章目录[隐藏]

本篇文章给大家带来的内容是关于python中re模块与正则表达式的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE),又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法,是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些匹配某个模式的文本。

正则表达式规则,单字符匹配

字符功能正则表达式示例符合匹配示例
.匹配任意一个字符(除了n)b.bbab,b2b
[ ]匹配来自[]中字符集的任意一个字符i [abCde]mi am
\d匹配任何十进制数字,与[0-9]一致w\dcschoolw3cschool
\D匹配非数字,即不是数字mou\Dhmouth
\s匹配任何空格字符,与[\n\t\r\v\f]相同i\slikei like
\S匹配任何非空白字符,与\s相反n\Senoe,n3e
\w匹配任何字母数字字符,与[A-Za-z0-9_]相同[A-Za-z]w+
\W匹配非单词字符[0-9]\W[A-Z]3 A

表示数量匹配

字符功能正则表达式示例符合匹配的示例
*匹配0次或者多次前面出现的正则表达式,即可有可无a*aaa
+匹配前一个字符出现1次或者无限次,即至少有一次a+aaa
?匹配前一个字符出现1次或者0次,要么有一次,要么没有a?a或者b
{m}匹配前一个字符出现m次[0-9]{5}12345
{m.}匹配前一个字符至少出现m次a{5.}aaaaa
{m,n}匹配前一个字符出现从m到n次a{2,6}aaa

表示边界匹配

字符功能正则表达式示例
^匹配字符串起始部分^Dear
$匹配字符串终止部分fi$
b匹配任何单词的边界\bThe\b
B匹配非单词边界.*\Bver\

匹配分组

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

re模块

在python中,可以使用内置的re模块来使用正则表达式

re模块常见的函数和方法

核心函数说明
compile(pattern,flags=0)使用任何可选的标记来编译正则表达式的模式,然后返回一个正则表达式对象

本文来源gaodai$ma#com搞$代*码*网

re模块函数和正则表达式对象方法说明
match(pattern,string,flags=0)尝试使用带有可选的标记的正则表达式的模式来匹配字符串。如果匹配成功,就返回匹配对象; 如果失败,就返回 None
search(pattern,string,flags=0)使用可选标记搜索字符串中第一次出现的正则表达式模式。 如果匹配成功,则返回匹配对象; 如果失败,则返回 None
findall(pattern,string,[,flags])查找字符串中所有出现的正则表达式,并返回一个列表
split(pattern,string,max=0)根据正则表达式的模式分隔符,spilt函数将字符串分割为列表,然后返回成功匹配的列表,分割最多操作max次(默认分割所有匹配成功的位置)
sub(pattern,repl,string,count=0)使用repl替换所有正则表达式的模式在字符串中出现的位置,除非定义count,否则就将替换所有出现的位置
常用的匹配对象方法说明
group(num=0)默认返回整个匹配对象或者返回编号为num的特定子组
groups(default=None)返回一个包含所有匹配子组的元组,如果没有成功匹配,返回一个空元组
span()
常用的模块属性,大多数用于对正则表达式函数的修饰说明
re.I使匹配对大小写不敏感(忽略大小写)
re.S.(点号)匹配除了n之外的所有字符,re.S标记表示.(点号)能够匹配全部字符
re.M多行匹配,影响^和$
re.U根据Unicode字符集解析字符。影响\w,\W,\b和\B
re.X该标志通过给予你更灵活的格式以便你讲正则表达式写得更易于理解

re模块一般的使用方法


  1. 搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
    转载请注明原文链接:python中re模块与正则表达式的介绍(附代码)
    喜欢 (0)
    [搞代码]
    分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址