java 正则匹配多个并列关键词_python小课堂23 - 正则表达式(一)

这篇博客介绍了Python的正则表达式基础,包括使用re模块查找字符串、正则表达式的原理性概念,如普通字符、元字符、字符集、数量词以及贪婪与非贪婪模式。通过实例展示了如何使用正则表达式匹配电话号码、拆分单词和理解正则表达式组的概念。最后,强调了正则表达式在爬虫中的重要性,并鼓励读者通过实践深入学习。
摘要由CSDN通过智能技术生成

42bf2d9149856c3c33ec0a6ef347975b.png

python小课堂23 - 正则表达式(一)

前言

今天来介绍一下Python的正则表达式。先来看下定义,何为正则表达式?

正则表达式是一个特殊的字符序列,一个字符串是否与我们给定的这个字符序列相匹配。正则最重要的功能就是处理字符串,例如检索你在某一段字符串中的特定单词,或者将原来某个位置的特定字符换成你想要的字符。而对于爬虫来说,正则表达式是必不可少的技能之一,要想正确提取源代码中你想要的信息内容,一般来说都会用到正则。

Python的re模块初体验

这里用例子来假设一个场景吧...现在你正打算转行踏入程序员的领域,然而面临的第一个问题就是选择一个主修语言来作为你转行后的学习动力。于是有个字符串language="Java,Python,Go,Js,C,C++,PHP",你下定决心要学Python,于是让你判断Python这门语言是否在这个字符串中存在!你会怎么做呢?

方案一:

通过python内置函数string.index('Python')

language = 'Java,Python,Go,Js,C,C++,PHP'
print(language.index('Python'))

>>> 5

结果说明在索引下标第5位开始,寻找到了Python字符串。

方案二:

通过in关键词

language = 'Java,Python,Go,Js,C,C++,PHP'
print('Python' in language)

>>> True

结果说明Python字符串存在于language中。

方案三:

通过re模块,需要import re。

import re
language = 'Java,Python,Go,Js,C,C++,PHP'
"""
   re.findall(pattern, string, flags=0):
      必填的两个参数:
      第一个参数是正则表达式的模式;
      第二个参数是原字符串
      选填参数: flags ,传入例如忽略大小写的官方参数

   返回的结果是: list
"""
result = re.findall('Python',language)
print(result)

>>> ['Python']

大家可以仔细看下代码,注释已经写得很清楚啦....使用re.findall,见名知意,是查找到所有匹配到的,所以返回的肯定是list。不信的话,我们将代码修改一下,在language里多加一个Python,看下结果如何:

b7e8b5cf9f466d276df5aa9a6a7cd01a.png

Python正则表达式的原理性概念

这个标题起的名字有些拗口,因为我找不到好的概括词语了,现在就来解释一下吧....我们通过re模块来判断了一个字符串包含不包含与原始字符串,实际上这种用法是没有意义的,真正的正则表达式用法场景,应该是依赖于规则!

1.普通字符和元字符

还是举例说明,还是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值