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

大家好!我是码银🥰

欢迎关注🥰:

CSDN:码银

公众号:码银学编程

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


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


下面请看举例:

正文

使用“?”

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

import re

msg = '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.py
years
year

Process finished with exit code 0

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

使用“+”

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

import re

msg = '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.py
yearss
yearsss

Process finished with exit code 0

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

使用“*”

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

import re

msg = '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.py
year
yearsss

Process finished with exit code 0

使用“{ }”

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

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

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

import re

message = '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.py
yearsss
years
yearss

Process finished with exit code 0

相关推荐

  1. Python22表达式限定符

    2024-02-09 14:48:01       30 阅读
  2. 精通Python表达式

    2024-02-09 14:48:01       33 阅读
  3. 精通Python表达式

    2024-02-09 14:48:01       34 阅读
  4. python表达式

    2024-02-09 14:48:01       13 阅读
  5. python表达式

    2024-02-09 14:48:01       8 阅读
  6. Python表达式sub和replace区别

    2024-02-09 14:48:01       44 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-09 14:48:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-09 14:48:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-09 14:48:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-09 14:48:01       20 阅读

热门阅读

  1. C语言之扫描字符串

    2024-02-09 14:48:01       33 阅读
  2. Kubernetes的有状态应用示例:ZooKeeper

    2024-02-09 14:48:01       21 阅读
  3. JVM体系

    2024-02-09 14:48:01       31 阅读
  4. c语言_实现类class的功能 实例

    2024-02-09 14:48:01       31 阅读
  5. 贪心_分类讨论_边界问题_1921_C. Sending Messages

    2024-02-09 14:48:01       27 阅读
  6. c实现链表

    2024-02-09 14:48:01       27 阅读
  7. deepin20.9安装及配置

    2024-02-09 14:48:01       28 阅读
  8. 高精度加法 取余 分类讨论 AcWing 791. 高精度加法

    2024-02-09 14:48:01       32 阅读
  9. 【LeetCode每日一题】1122. 数组的相对排序

    2024-02-09 14:48:01       31 阅读
  10. LeetCode639. Decode Ways II——动态规划

    2024-02-09 14:48:01       24 阅读
  11. C++ .h文件类的调用

    2024-02-09 14:48:01       28 阅读
  12. 机器学习原理到Python代码实现之PolynomialRegression

    2024-02-09 14:48:01       28 阅读