美文网首页有梦才会去努力
Python正则表达式匹配分组

Python正则表达式匹配分组

作者: 黑猫编程 | 来源:发表于2019-10-06 23:35 被阅读0次
字符 功能
| 匹配左右任意一个表达式
(ab) 将括号中字符作为一个分组
\num 引用分组num匹配到的字符串
(?P<name>) 分组起别名
(?P=name) 引用别名为name分组匹配到的字符串

匹配1-100之间数字

# -*- coding: utf-8 -*-
# @Time    : 2019/10/4 17:48
# @Author  : 币行者
# @Email   : xypip@qq.com
# @File    : tetst6.py

import re

ret = re.match("[1-9]?\d$","08")
if ret:
    print(ret.group())
else:
    print("不在0-100之间")
ret = re.match("[1-9]?\d$|100","100")
print(ret.group())

()使用方法

# -*- coding: utf-8 -*-
# @Time    : 2019/10/6 22:38
# @Author  : 币行者
# @Email   : xypip@qq.com
# @File    : 正则表达()分组.py

import re

ret = re.match("\w{4,20}@163\.com", "xingzhe@163.com")
print(ret.group())

ret = re.match("\w{4,20}@(163|126|qq)\.com", "xingzhe@126.com")
print(ret.group())

ret = re.match("\w{4,20}@(163|126|qq)\.com", "xingzhe@qq.com")
print(ret.group())

不以4或7结尾的手机号

首位以1开头,中间10位数字任意,末位不是4或7

# -*- coding: utf-8 -*-
# @Time    : 2019/10/6 22:53
# @Author  : 币行者
# @Email   : xypip@qq.com
# @File    : 手机号码匹配.py

import re

tels = [
    "13062617783",
    "123456",
    "13844456784"
]

for tel in tels:
    ret = re.match("1\d{9}[0-35-68-9]", tel)
    if ret:
        print(ret.group())
    else:
        print("%s不是符合条件的手机号" % tel)

正则表达式是一种通用的字符串处理方法,Python引入re模块,可以快速处理匹配我们需要的信息,正则表达式语法众多,高手玩到炉火纯青可以随心所欲且使用高级的匹配方式,对于我们大多数人以及行者本人并非在编程一线行业,因此,写代码纯粹是满足个人需要,简化我们流程提高我们的效率,本来开始使用Python爬虫获取简书专题的所有文章和对应链接,但是,经过爬取实践时发现,lxml只能解析到前10篇文章,将专题的网页下载下来分析发现,只有我们将专题拉到尾部全部加载出来下载才可以获得全部网页源代码,也是出于安全性,防止被简书后台发现,所以使用正则表达进行匹配,服务器就不会获取爬虫信息,几乎任何领域,20%的知识可以解决掉80%的问题,我的平时工作就是教计算机编程,教算法竞赛,所以也利用编程基础完成一些自动化脚本的创建。至于爬虫问题,当我有时间会深入了解一下,破解这个只能够爬取前10篇文章信息的问题。编程的价值,我一直认为,能够应用于我们的生活就是价值。

系列文章

Python正则表达式基础
Python正则表达式匹配开头结尾

相关文章

  • Django的路由系统

    基本格式 分组命名匹配 在Python的正则表达式中,分组命名正则表达式组的语法是(?Ppattern...

  • day 17 正则表达式

    1.什么是正则表达式 2.python对正则表达式的支持 匹配次数 分之和分组

  • Python 高级 8正则表达式

    正则表达式、re模块、匹配单个字符、匹配多个字符、匹配开头结尾、匹配分组、re模块的高级用法、python贪婪和非...

  • 5: 正则表达式 + 三剑客之grep

    3 正则表达式 正则表达式元字符分类: 字符匹配 次数匹配 位置锚定 分组 基本正则表达式: vim, grep,...

  • 2019-05-07python学习记录-搜文本

    正则表达式 添加括号可以在正则表达式中加分组groups() 复数可以一次获得所有分组 | 用管道匹配多个分组? ...

  • 正则表达式括号的作用

    本文摘抄自javascript正则表达式迷你书 正则表达式是匹配模式,要么匹配字符,要么匹配位置 1. 分组和分...

  • Python基础022--正则表达式

    正则表达式模块、贪婪匹配和非贪婪匹配、正则分组、match和search的使用 常用的正则表达式元字符 正则表达式...

  • Python_模式匹配与正则表达式

    正则表达式符合总结:?匹配零次或一次前面的分组; 匹配零次或多次前面的分组; 匹配一次或多次前面的分组;{n} 匹...

  • Django URL传参

    1. 正则表达式匹配传参: 链接网页形如:/list/python/时,通过正则表达式匹配到字符串"python"...

  • 正则表达式

    在线正则表达试测试链接 正则表达式测试链接网址 正则匹配 结果为 匹配目标分组匹配 结果为 贪婪模式匹配 .*匹配...

网友评论

    本文标题:Python正则表达式匹配分组

    本文链接:https://www.haomeiwen.com/subject/vkhspctx.html