专栏首页AngelNI正则表达式

正则表达式

达人物外之物,思身后之身,宁受一时之寂寞,毋取万古之凄凉。

正则式

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。re 模块使 Python 语言拥有全部的正则表达式功能。

re.match

re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。

print(re.match('www','www.angelni.io').span())#起始位置匹配
print(re.match('www','www.angelni.io'))#非起始位置匹配

'''结果
(0, 3)
<_sre.SRE_Match object; span=(0, 3), match='www'>
'''

re.search

re.search 扫描整个字符串并返回第一个成功的匹配。

print(re.search('www','www.angelni.io').span())#起始位置匹配
print(re.search('io','www.angelni.io').span())

'''
(0, 3)
(12, 14)
'''

re.sub

re 模块提供了用于替换字符串中的匹配项。

phone = "183-3918-9296 # 这是我的电话号码"
# 删除字符串中的 Python注释
num = re.sub(r'#.*$', "", phone)  # r 代表正则表达式,将在后面介绍具体规则
print("电话号码是:", num)
# 删除非数字(-)的字符串 
num = re.sub(r'\D', "", phone)
print("电话号码是:", num)

'''
电话号码是: 183-3918-9296
电话号码是: 18339189296
'''

re.compile

compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象。

partten1 = re.compile(r'\d+')
partten2 = re.compile(r'\d')
result1 = partten1.findall('runoob123google456')
result2 = partten2.findall('runoob123google456')
print(result1)
print(result2)

'''
['123', '456']
['1', '2', '3', '4', '5', '6']
'''

re.split

split 方法按照能够匹配的子串将字符串分割后返回列表

print(re.split('\W+', 'runoob, runoob, runoob.'))
'''
['runoob23', 'runoob23', 'runoob121', '']
'''

re.findall

返回字符串中所有不重叠匹配项的列表。如果模式中存在一个或多个捕获组,则返回组列表;

re.findall(pattern, string, flags=0)
#两种用法
pattern = re.compile(r'\d+')
pattern.findall('one1two2three3four4')
#[1,2,3,4]
 
#注意此处findall()的用法,可传两个参数;
pattern = re.compile(r'\d+')
re.findall(pattern,"one123")
#[1,2,3]

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Keras-learn-note(3)

    May you be faithful to yourself, live earnestly and laugh freel.

    AngelNH
  • DFS

    深度优先搜索算法(Depth-First-Search),是搜索算法的一种。是沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所有边都己被探寻过,搜...

    AngelNH
  • 01Backpack Practice

    01背包,涉及贪心,先买最贵的菜,然后就转化为容量为m-5,物品数量n-1的,进行01背包;

    AngelNH
  • python re模块 正则表达式

    正则表达式对字符串的逻辑操作,主要是对字符串的一种过滤,用“元字符” 与“普通字符”组成一个字符串规则对已知的字符串或文本过滤出自己想要的字符串

    py3study
  • python 爬虫 过滤全部html标签 提取正文内容

    很多时候网页中采用正则或者xpath提取数据内容的方式是很好的,但是对于不确定网页内容结构,可以采用xpath提取更大范围的div,然后去除一切标签来提取数据。

    十四君
  • python中去掉文件的注释

        re.VERBOSE | re.MULTILINE | re.DOTALL

    py3study
  • 这或许是我见过的最简单的正则表达式教程(三)

    五一劳动节来啦,小小挖掘机们小编们首先祝大家劳动节快乐! 作为中国放假大学的一员,除了趁着长达8天的五一春假好好休整之外,当然还要忙中偷闲补习一下python的...

    石晓文
  • Python 正则表达

    pattern 就是正则表达式字符串,flags是选项。正则表达需要被编译,为了提高提高效率,这些编译后的结果被保存,下次使用同样的pattern 的时候,就不...

    江小白
  • Python 正则表达式

    最近研究Python爬虫,很多地方用到了正则表达式,但是没好好研究,每次都得现查文档。今天就专门看看Python正则表达式。本文参考了官方文档 re模块。 模式...

    乐百川
  • python运维开发笔记4

    ['mysql','-u','root','-p123','-e','show processlist']

    py3study

扫码关注云+社区

领取腾讯云代金券