0
点赞
收藏
分享

微信扫一扫

秒懂正则匹配,领略正则魅力

悄然丝语 2022-05-29 阅读 51

在这里插入图片描述
🍖🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖
🍖🍖
🍖🍖🍖
🍖🍖🍖🍖 作者 : 不良使
🍖🍖🍖🍖🍖 潜力创作新星 华为云享专家
🍖🍖🍖🍖🍖🍖 博客记录学习的思路,项目和错误,寻找志同道合的朋友
🍖🍖🍖🍖🍖🍖🍖 如果觉得有帮助记得一键三连 ┗|`O′|┛ 嗷~~
🍖🍖🍖🍖🍖🍖🍖🍖

🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖

🍓🍓什么是正则表达式?

🍓🍓语法

🕎🕎语法一:

在这里插入图片描述
💖💖**.和\n结合感觉直接无敌。**
💖💖**\s和\S,\d和\D,\w和\W,大小写都是相反的意思,两个和互为补充.例如\d是匹配数字,\D是匹配非数字。一篇所能看见的文章或者新闻不都是数字和非数字(符号,字母等)组成的吗。**

🕎🕎语法二

在这里插入图片描述

量词最重要的体现还是在贪婪和非贪婪上。

🚀🚀非贪婪
非贪婪,从左到右执行,.?会分开执行,会先执行 .,匹配最后一个游戏前的所有。然后执行问号,回溯找到符号要求的第一个游戏
在这里插入图片描述
🚀🚀贪婪
我们可以发现贪婪尽可能的匹配
在这里插入图片描述
我这有两个在线正则测试工具,连接会放在最后面。


🍓🍓python中的正则方法

🕎🕎findall

代码:

import re
lst=re.findall(r"\d+","我的电话是10011,第二个电话是10086")
print(lst)

结果:
在这里插入图片描述

🕎🕎finditer

代码:

# todo 上面一个效率低,下面这个返回的是迭代器,效率高的多。循环打印
it=re.finditer(r"\d+","我的电话是10011,第二个电话是10086")
for i in it:
    print(i.group())

结果:
在这里插入图片描述

🕎🕎search

代码:

# todo search  找到一个结果就返回,所以只找到了 10011 ,没有找到10086
s=re.search(r"\d+","我的电话是10011,第二个电话是10086")
print(s.group())

结果:
在这里插入图片描述

🕎🕎match

代码:

# todo match() 从头开始匹配
a=re.match(r"\d+","我的电话是10011,第二个电话是10086")  # todo 报错
b=re.match(r"\d+","10011,第二个电话是10086")
print(b)

结果:
在这里插入图片描述

🕎🕎compile

代码:

# todo 预加载正则表达式
obj=re.compile(r"\d+")
result=obj.finditer("我的电话是10011,第二个电话是10086")
for i in result:
    print(i.group())

ret=obj.findall("明天就把欠我的100000000还我")
print(ret)

结果:
在这里插入图片描述


🍓🍓正则在线测试工具

来自开源中国的测试工具:
正则在线测试平台
在这里插入图片描述

国外某机构正则测试平台[支持多语言]
在这里插入图片描述







**觉得有用的可以给个三连,关注一波!!!带你了解更多小知识

举报

相关推荐

0 条评论