当前位置:首页 » 《随便一记》 » 正文

Python(22)正则表达式中的“限定符”

27 人参与  2024年02月19日 10:31  分类 : 《随便一记》  评论

点击全文阅读


大家好!我是码银?

欢迎关注?:

CSDN:码银

公众号:码银学编程

获取资源:公众号回复“python资料”


限定符功能
?匹配前面的字符0次或1次
+匹配前面的字符1次或多次
*匹配前面的字符0次或多次
{n}匹配前面的字符n次
{n,}匹配前面的字符最少n次
{n,m}匹配前面的字符最小n次,最多m次


下面请看举例:

正文

使用“?”

在正则表达式中若某些括号内的字符串或正则表达式可有可无,执行搜寻时皆算成功,例如,aaa字符串可有可无,表达方式是(aaa)?。

import remsg = 'During my two years living in London'message = 'During my one year living in London'pattern = 'year(s)?'tx = re.search(pattern,msg)print(tx.group())txt = re.search(pattern,message)print(txt.group())

输出结果: 

D:\anaconda2019\python.exe D:/pyprogect/正则表达式/test4.pyyearsyearProcess finished with exit code 0

其中 "year(s)?" 当中的小括号是可以去掉的,因为我们只判断了一个字母“s”是否存在。如果判断多个字母的话就可以这么写:'year(ss)?'

使用“+”

在正则表达式中若是某些字符串或正则表达式可从1到多次,执行搜寻时皆算成功,例如:

import remsg = 'During my two yearss living in London'message = 'During my one yearsss living in London'pattern = 'years+'tx = re.search(pattern,msg)print(tx.group())txt = re.search(pattern,message)print(txt.group())

​输出结果:

D:\anaconda2019\python.exe D:/pyprogect/正则表达式/test4.pyyearssyearsssProcess finished with exit code 0

如果没有对应的字符串可以直接:print(tx) 会输出“none”。

使用“*”

在正则表达式中若某些字符串或正则表达式可从0到多次,执行搜寻时皆算成功,例如,aa字符串可从0到多次,表达方式是(aa)*。

import remsg = 'During my two year living in London'message = 'During my one yearsss living in London'pattern = 'years*'tx = re.search(pattern,msg)print(tx.group())txt = re.search(pattern,message)print(txt.group())

输出结果:

D:\anaconda2019\python.exe D:/pyprogect/正则表达式/test4.pyyearyearsssProcess finished with exit code 0

使用“{ }”

大括号的数字是设定重复次数。可以将这个观念应用在搜寻一般字符串,例如,(so){3} 代表所搜寻的字符串是‘sososo’,如果有一字符串是‘so', 则搜寻结果是不符。

大括号除了可以设定重复次数,也可以设定指定范围,例如,(so){3,5} 代表所搜寻的字符串如果是‘sososo’ ‘sosososo' 或 'sososososo' 皆算是相符合的字符串。

那么(so){3,}代表着所搜寻的字符串是“sososo”……“sososo...”。

import remessage = 'yearsss'msg = 'years'm = 'yearss'pattern = 'years{1,3}'txt = re.search(pattern,message)print(txt.group())txt = re.search(pattern,msg)print(txt.group())txt = re.search(pattern,m)print(txt.group())

输出结果:

D:\anaconda2019\python.exe D:/pyprogect/正则表达式/test4.pyyearsssyearsyearssProcess finished with exit code 0

点击全文阅读


本文链接:http://zhangshiyu.com/post/69034.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1