iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >如何使用Python的正则表达式
  • 225
分享到

如何使用Python的正则表达式

2023-06-02 11:06:15 225人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容主要讲解“如何使用python的正则表达式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Python的正则表达式”吧!一、正则表达式介绍1.学习爬虫,为什么必须会正则表达式?&n

本篇内容主要讲解“如何使用python正则表达式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Python的正则表达式”吧!

一、正则表达式介绍

1.学习爬虫,为什么必须会正则表达式?
    有时候,我们爬取一些网页具体内容时,会发现我们只需要这个网页某个标签的一部分内容,或者是这个标签的某个属性的值时,用普通的 xpath 或者CSS.selector是不能实现我们的想法的,这个时候就必须用到正则表达式去匹配获取。
2.正则表达式官方简介?
    正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

二、看代码,边学边敲边记正则表达式

day01:

 1'''
2author : 极简XksA
3Date : 2018.7.27
4Goal : 正则表达式
5'''
6
7import re
8
9line = 'jijianXksA123'
10
11# ^a 表示匹配以a开头的字符串(只匹配一次)
12# . 表示该字符可为任意字符(只匹配一次)
13# * 表示前面的字符可以出现任意次(0次或多次)(多次匹配)
14reg_str01 = '^j.*'    # 表示以j开头的字符串
15# re.match 函数
16# 第一个参数是匹配的格式
17# 第二参数是要匹配的字符串
18# 返回值为:匹配成功,返回match对象,否则返回:None
19
20if re.match(reg_str01,line) :
21    print("匹配成功!")  # reg_str = '^j.*'     匹配成功
22else:
23    print("匹配失败!")  # reg_str = '^i.*'     匹配失败
24
25
26# 23$ 表示匹配以23结尾的字符串(只匹配一次)
27reg_str02 = '^j.*23$'
28if re.match(reg_str02,line) :
29    print("匹配成功!")  # reg_str = '^j.*23$'     匹配成功
30else:
31    print("匹配失败!")  # reg_str = '^j.*13$'     匹配失败
32
33
34line01 = 'boooboaobxby'
35# () 内的为 匹配模式,通过 group函数 可以取出匹配结果
36# 正则表达式贪婪匹配模式:从后面(右边)开始匹配
37reg_str03 = '.*(b.*b).*'
38test01 = re.match(reg_str03,line01)
39if  test01:
40    print(test01.group(1))      # result : bxb
41else:
42    print("匹配失败!")
43
44# 正则表达式非贪婪匹配模式:从前面(左边)开始匹配
45# ? : 表示从左边开始匹配,匹配到第一个符合模式的内容,即进入模式
46#
47reg_str03 = '.*?(b.*b).*'   # 半贪婪匹配
48reg_str04 = '.*?(b.*?b).*'  # 非贪婪匹配
49test01 = re.match(reg_str03,line01)
50test02 = re.match(reg_str04,line01)
51if  test01 and test02:
52    print(test01.group(1))      # result : boooboaobxb
53    print(test02.group(1))  # result : booob
54else:
55    print("匹配失败!")

day02:

 1'''
2author : 极简XksA
3date : 2018.7.28
4goal : 正则表达式
5'''
6import re
7line01 = 'boooboaobcxby'
8
9def regtest(reg_str,line = line01):
10    test = re.match(reg_str, line)
11    if test:
12        print(test.group(1))
13    else:
14        print("匹配失败!")
15
16# + :表示前面的字符,至少出现一次
17reg_str04 = '.*(b.+b).*'  # (b.+b)表示b与b之间至少有一个字符
18regtest(reg_str04)      # result : bcxb
19
20# {n} : 控制前面字符出现次数
21# a{2} : 表示a出现两次
22# b{3,4} : 表示b至少出现3次,最多出4次
23# c{4,} : 表示c至少出现4次
24reg_str05 = '.*(b.{2}b).*'  # (b.{2}b)表示匹配到的b与b之间,只有两字符
25reg_str06 = '.*(b.{3,4}b).*'  # (b.{3,6}b)表示匹配到的b与b之间,至少有3个字符,至多有4个字符
26reg_str07 = '.*(b.{4,}b).*'  # (b.{8,}b)表示匹配到的b与b之间,至少有4个字符
27regtest(reg_str05)   # result : bcxb
28regtest(reg_str06)   # result : boaob
29regtest(reg_str07)   # result : boaobcxb
30
31# | :表示 或
32# (abc|123) : 表示匹配到 abc 或者 123,都算匹配成功
33reg_str08 = '.*(boo|abc)'
34reg_str09 = '.*(abc|boo)'
35regtest(reg_str08)   # result : boo
36regtest(reg_str09)   # result : boo
37
38# [] : 表示 里面包含的内容都可以进行匹配,包含内容只有表面字符含义
39# [abcd] : 表示 只要这个字符为 a/b/c/d中的一个都可以匹配成功
40# [0-9] : 表示 只要这个字符在 0-9 这个区间内,都可以匹配成功
41# [^x] : 表示匹配 字符不为 x
42line02 = '电话号:15573563467'
43reg_str10 = '.*(1[3458][0-9]{9}).*'
44reg_str11 = '.*(1[3458][^1]{9}).*'
45regtest(reg_str10,line02)   # result : 15573563467
46regtest(reg_str11,line02)   # result : 15573563467
47
48# \s 表示匹配空格,匹配一次
49# \S 表示匹配不是空格的字符,匹配一次
50# \w 表示匹配 A-Z、0-9、_ 中的容易字符,匹配一次
51# \W 与 \w 相反
52# \d 表示数字
53# [\u4E00-\u9FA5] : 表示所有汉字,unicode 编码
54
55def regtest_test(reg_str,line = line01):
56    test = re.match(reg_str, line)
57    if test:
58        print(test.group(1)+':'+test.group(2)+'-'+test.group(3)+'-'+test.group(4))
59    else:
60        print("匹配失败!")
61
62# 简单实例
63str01 = '张三出生于1997年12月20日'
64str02 = '李四出生于1989-01-20'
65str03 = '王五出生于1997/2/5'
66str04 = '赵六出生于1997.12.20'
67str = [str01,str02,str03,str04]
68# 提取出姓名+出生日期
69# 匹配模式
70reg_str12 = '(.*)出生于(\d{4})[.年/-](\d{1,2})[.月/-](\d{1,2}).*?'
71for i in range(4):
72    regtest_test(reg_str12,str[i])
73# result :
74#       张三:1997-12-20
75#       李四:1989-01-20
76#       王五:1997-2-5
77#       赵六:1997-12-20

到此,相信大家对“如何使用Python的正则表达式”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 如何使用Python的正则表达式

本文链接: https://www.lsjlt.com/news/229967.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用Python的正则表达式
    本篇内容主要讲解“如何使用Python的正则表达式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Python的正则表达式”吧!一、正则表达式介绍1.学习爬虫,为什么必须会正则表达式?&n...
    99+
    2023-06-02
  • python 正则表达式的使用
    目录1、正则表达式 1.1 正则表达式字符串1.1.1 元字符1.1.2 字符转义1.1.3 开始与结束字符1.2 字符类1.2.1 定义字符类1.2.2 字符串取反1.2.3 区间...
    99+
    2024-04-02
  • 如何在python中使用正则表达式
    本篇内容主要讲解“如何在python中使用正则表达式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何在python中使用正则表达式”吧! 一、前言我们在做接口自动化的时候,处理接口依...
    99+
    2023-06-16
  • 在python正则表达式中是怎样正确使用正则表达式
    这篇文章将为大家详细讲解有关在python正则表达式中是怎样正确使用正则表达式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。现在我们已经看了一些简单的正则表达式,那么我们实际在 Python...
    99+
    2023-06-17
  • python 中正则表达式的使用
    正则表达式(re)(Regular Expression)。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。在pyth...
    99+
    2023-01-31
    正则表达式 python
  • jmeter正则表达式如何使用
    这篇文章主要讲解了“jmeter正则表达式如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jmeter正则表达式如何使用”吧!运用Jmeter正则提取器,可以从请求的响应结果中取到需要...
    99+
    2023-06-21
  • JavaScript如何使用正则表达式
    正则表达式是一种用来匹配字符串的模式,可以用于验证、搜索、替换字符串等。JavaScript内置支持正则表达式,本篇文章将介绍JavaScript如何使用正则表达式。正则表达式比较复杂,如果您初次接触它,可能会感到困惑。但是只要您理解了基本...
    99+
    2023-05-14
  • java如何使用正则表达式
    Java中使用正则表达式需要使用java.util.regex包中的相关类和方法。以下是使用正则表达式的基本步骤:1. 创建正则表达...
    99+
    2023-09-26
    java
  • Python中使用正则表达式及正则表达式匹配规则详解
    目录1 导库2 使用模板3 说明4 示例5 正则表达式匹配规则1 导库 import re 2 使用模板 re_pattern = re.compile(pattern, flags...
    99+
    2023-03-22
    Python正则表达式匹配规则 Python正则表达式
  • 如何正确的使用awk正则表达式
    这篇文章给大家介绍如何正确的使用awk正则表达式,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、模糊匹配:awk ‘{if($3~/97/) print $0}' da...
    99+
    2023-06-09
  • Linux如何使用正则表达式
    这篇文章将为大家详细讲解有关Linux如何使用正则表达式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。我们可以使用 grep 命令来测试我们的正则表达式,grep命令使用正则表达式去尝试匹配指定文件的每一...
    99+
    2023-06-27
  • python正则表达式
    笔记:一:简介 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。 主要介绍Python中常用的正则表达式处理函数 提高工作效率,完成内置函数无法完成的任务! 搜索常用正则表达式!-...
    99+
    2023-01-30
    正则表达式 python
  • python 正则表达式
    正则表达式的作用:用来匹配字符串 一、字符串方法 字符串提供的方法是完全匹配,不能进行模糊匹配 s = 'hello world' # 字符串提供的方法是完全匹配,不能进行模糊匹配 print(s.find('ll')) # 2 ...
    99+
    2023-01-30
    正则表达式 python
  • Python正则表达式的使用教程
    这篇文章主要介绍“Python正则表达式的使用教程”,在日常操作中,相信很多人在Python正则表达式的使用教程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python正则表达式的使用教程”的疑惑有所帮助!...
    99+
    2023-06-16
  • C++中的正则表达式如何使用
    这篇文章主要介绍了C++中的正则表达式如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++中的正则表达式如何使用文章都会有所收获,下面我们一起来看看吧。介绍C++ 正则表达式教程解释了 C++ 中正则表...
    99+
    2023-06-30
  • MySQL中正则表达式如何使用
    这篇“MySQL中正则表达式如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL中正则表达式如何使用”文章吧。前...
    99+
    2023-07-02
  • VB中如何使用正则表达式
    在VB中使用正则表达式,可以通过引用System.Text.RegularExpressions命名空间来实现。以下是一个简单的示例...
    99+
    2024-04-03
    VB
  • 如何理解Python的正则表达式
    今天就跟大家聊聊有关如何理解Python的正则表达式,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Python正则表达式!前面也有跟大家分享关于正则表达式的Python学习教程,但是...
    99+
    2023-06-02
  • PHP中正则表达式如何使用
    本篇文章为大家展示了PHP中正则表达式如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。PHP正则表达式的定义:用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找及...
    99+
    2023-06-17
  • MySQL中如何使用正则表达式
    这篇文章将为大家详细讲解有关MySQL中如何使用正则表达式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、简介MySQL中支持正则表达式匹配,在复杂的过滤条件中,可以考虑使用正则表达式。使...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作