python正则表达式的常见用途


这篇文章主要介绍“python正则表达式的常见用途”,在日常操作中,相信很多人在python正则表达式的常见用途问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python正则表达式的常见用途”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

正则表达式的常见用途:在模式字符串中根据需求提取子字符串;字符串内某些字符或者指定字符串进行替换或者删除或者分离;在用户输入用户名时判断输入字符串格式是否正确;
一,基础
re模块匹配经常用到的元字符和语法字符型:预义字符型:数量字符型:
边界、逻辑或组匹配:
贪婪模式与非贪恋模式:

贪婪模式的量词也叫做匹配优先量词,主要包括:“{m,n}”、“{m,}”、“?”、“*”和“+”;
在匹配优先量词后面加上“?”叫做忽略优先量词,主要包括:“{n}?”、“{m,n}?”、“*?”和“+?”;
贪婪模式:在匹配字符对象满足的情况下尽可能匹配多个字符,指被匹配优先量词修饰的字符串;非贪婪模式:在匹配规则满足的情况下尽可能匹配少的字符,指被忽略优先量词匹配的字符串;列个表帮助你深刻理解贪婪模式与非贪婪模式的区别:说明:当字符串遍历到第二个时就已经满足匹配规则了,但是模式一是贪婪模式需要尽可能匹配多的字符,第三个后面已经没有能够满足匹配规则的字符了,所以在遍历到第3个就停下了结果即为:.*56.;而模式二为非贪婪模式即结果为:56.
匹配时出现的反斜杠的问题
在用正则匹配时,需要对于某些特殊字符进行转义,就比如‘baidu.com’,匹配时需要写成“baidu.com”;但是python字符中本身也用‘’转义,所以需要写成‘baidu.com’;为了在写匹配字符对象时避免‘’出现程序问题,我们可以匹配时在字符串前面加一个字母r,转化为原字符串进行匹配,例如 r “baidu.com”;
二、re模板中常用到的函数
re.compile();
re.compile()将一个字符串编译成一个模式对象,便于直接利用search,findall,split等函数直接匹配与搜索或者分割;re.compile()的原型:re.compile( pattern [, flags] )pattern表示字符串匹配模式对象,flags表示修饰量词:例如:“*”、“+”;compile函数的例子:re.compile(r”d+”) : 表示匹配连续多个数字;
compile还有一个参数flag可以设正则表达式修饰符,常用的修饰符如下:
对于re.X的解释,例如,图中两 香港云主机个正则表达式是等价的:re.match()match函数从字符串的头部开始匹配,当字符满足匹配模式对象时会返回一个正确对象(object),当不满足时则就会返回None;例子如下:
字符头部匹配成功:字符串头部匹配失败match还有几个命令,可以连续匹配多个组(用group(n)或者groups()表示),并且组之间的匹配内容用元组来表示:
match还有一些用来查找满足匹配某一组字符串起始、结尾的位置以及范围,使用方法如下:re.search()search在字符串的任一部位都可以进行匹配,与match相似如果在模式字符串第一次满足指定的匹配对象则返回一个object,若都不满足则返回None;当然可指定模式字符串的匹配起始位置;match、research、findall(后面需要介绍的函数)都可以不经过compile方法直接进行匹配;例子如下图:
re.findall()
findall也是对于字符串全部任意部位进行匹配,但是与search的主要区别:匹配组时search只返回满足匹配对象的第一个组,findall则返回所有满足匹配对象的组,而且findall没有group或者groups方法的应用,匹配的值可以直接返回;写个例子大家感受一下:
re.sub()
sub的原型:sub(pat,repl,string[,count=0]);用string中的pat用字符repl替换;sub方法的目的:是用一个字符或字符串来替换模式字符串中某一字符或字符串,sub同样可以借用compile中的匹配对象,也可以直接进行匹配,使用方法如下:re.split()
split方法的原型:split(pattern,string[,maxsplit = 0])split作用:根据匹配分割字符对象把字符串分割成一个列表,例子如下:
到此,关于“python正则表达式的常见用途”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注开发云网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: nginx怎么代理多个服务器

本文小编为大家详细介绍“nginx怎么代理多个服务器”,内容详细,步骤清晰,细节处理妥当,希望这篇“nginx怎么代理多个服务器”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。首先修改配置文件:其中主要的是有两个server,每个se…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 08/06 20:58
Next 08/06 20:58

相关推荐