常用正则表达式 整理篇

常用正则表达式整理篇攻略

正则表达式是一种用于匹配文本的模式。在实际应用中,我们经常需要使用正表达式来解析HTML、XML等文本数据。本攻略将详细讲解常用正则表达式的整理,包括正则表达式的基本语法、常用的正则表达式模式、以及如何在Python中使用正则表达式。

正则表达式基本语法

正则表达式是一种用于匹配文本的模式。在Python中,我们可以使用re模块来使用正则表达式。下面是一些常用的正则表达式基本语法:

  • .:匹配任意字符,除了换行符。
  • *:匹配前面的字符零次或多次。
  • +:匹配前面的字符一次或多。
  • ?:匹配前面的字符零次或一次。
  • ^:匹配字符串的开头。
  • $:匹配字符串的结尾。
  • []:匹配括号中的任意一个字符。
  • |:匹配左右两边任意一个表达式。
  • ():分组,可以用于提取匹配的子字符串。

常用正则表达式模式

在Python中,我们经常需要正则表达式来解析HTML、XML等文本数据。下面是一些常用的正则表达式模式:

  • 匹配HTML标签:<[^>]+>
  • 匹配HTML标签中的属性:[a-zA-Z]+=\"[^\"]*\"
  • 匹配HTML标签中的文本:>([^<]+)<
  • 匹配URL:http[s]?:(?:[a-zA-Z0-9]|[$@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+
  • 匹配邮箱地址:[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
  • 匹配手机号码:1[3-9]\d{9}
  • 匹配身份证号码:\d{17}[\d|x]|\d{15}
  • 匹配IP地址:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}

在Python中使用正则表达式

在Python中,我们可以使用re模块来使用正则表达式。下面是一个例子,演示如何使用正则表达式:

import re

text = 'Hello, world!'
pattern = r'world'
result = re.search(pattern, text)
if result:
    print('Match found:', result.group())
else:
    print('Match not found')

在上面的代码中,我们使用正则表达式world进行匹配。然后,我们使用search()函数进行匹配。search()函数返回第一个匹配的结果。如果匹配成功,我们使用group()函数获取匹配到的文本。运行代码后,结果为Match found: world

下面是另一个例子,演示如何使用正则表达式提取URL:

import re

text = 'Visit my website at http://www.example.com'
pattern = r'http[s]?://(?:[a-zA-Z0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+'
result = re.search(pattern, text)
if result:
    print('Match found:', result.group())
else:
    print('Match not found')

在上面的代码中,我们使用正则表达式http[s]?://(?:[a-zA-Z0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+进行匹配。然后,我们使用search()函数进行匹配。search()函数返回第匹配的结果。如果匹配成功,我们使用group()函数获取匹配到的文本。运行代码后,结果为Match found: http://www.example.com

示例说明

示例1:从字符串中提取整数

下面是一个例子,演示如何从字符串提取整数:

import re

text = 'The price is $10.'
pattern = r'\d+'
result = re.findall(pattern, text)
print(result)

在上面的代码中,我们使用正则表达式\d+进行匹配,然后使用findall()函数进行提取。findall()函数返回所有匹配的结果。运行代码后,结果为['10']

示例2:从字符串中提取浮点数

下面是一个例子,演示如何从字符串中提取浮点数:

import re

text = 'The temperature is -3.14 degrees Celsius'
pattern = r'-?\d+\.\d+'
result = re.findall(pattern, text)
print(result)

在上面的代码中,我们使用正则表达式-?\d+\.\d+进行匹配,然后使用findall()函数进行提取findall()函数返回所有匹配的结果。运行代码后,结果为['-3.14']

以上是常用正则表达式整篇攻略的完整内容。在实际应用中,我们可以根据具体情况选择合适的正则表达式模式,以便快速、准确地解析HTML、XML等文本数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:常用正则表达式 整理篇 - Python技术站

(1)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • python根据url地址下载小文件的实例

    下面是Python根据URL地址下载小文件的实例攻略: 步骤一:导入必要的模块 首先需要导入Python中的urllib.request模块,该模块可以使用HTTP/HTTPS协议访问 Internet 上的资源。 import urllib.request 步骤二:指定下载的URL地址 需要下载的文件需要指定其URL地址,例如: url = ‘http:/…

    python 2023年6月3日
    00
  • Python+Pygame实现代码雨动画效果

    下面是 “Python+Pygame实现代码雨动画效果”的完整攻略。 示例一:创建Pygame窗口 首先,我们需要在我们的Python脚本中导入Pygame模块并初始化,创建一个Pygame窗口: import pygame pygame.init() # 初始化Pygame # 设置窗口大小 size = (800, 600) screen = pygam…

    python 2023年6月3日
    00
  • python用Tkinter做自己的中文代码编辑器

    下面我将详细讲解“python用Tkinter做自己的中文代码编辑器”的完整攻略。 一、Tkinter介绍 Tkinter是Python自带的GUI库,它提供了显示GUI界面所需要的各种组件。使用Tkinter编写代码的好处是它可以轻松跨平台运行,无需额外的安装。 二、制作自己的中文代码编辑器 制作一个自己的中文代码编辑器需要使用Tkinter的一些组件: …

    python 2023年5月19日
    00
  • python遗传算法之geatpy的深入理解

    以下是关于“Python遗传算法之geatpy的深入理解”的完整攻略: 简介 遗传算法是一种常见的优化算法,它可以通过模拟生物进化过程来寻找最优解。Python中有多种库可以实现遗传算法,例如geatpy。本教程将介绍如何使用geatpy库实现遗传算法,并提供两个示例。 geatpy库 geatpy是一个Python库,它提供了多种遗传算法的实现。geatp…

    python 2023年5月14日
    00
  • python使用arp欺骗伪造网关的方法

    这是一篇讲解“python使用arp欺骗伪造网关的方法”的攻略,我们将使用Python语言编写脚本,实现ARP欺骗攻击。 ARP欺骗攻击 ARP欺骗(Address Resolution Protocol spoofing)是一种网络攻击,攻击者发送虚假的ARP消息到目标主机,欺骗目标主机将其ARP高速缓存中存储的IP地址映射修改为假的MAC地址,从而使攻击…

    python 2023年6月3日
    00
  • 一文搞懂python 中的迭代器和生成器

    一文搞懂Python中的迭代器和生成器 什么是迭代器? 在Python中,迭代器是一种访问集合(如列表或元组)内元素的方式,可以逐个访问集合中的每个元素而不会影响其原结构。迭代器不会事先计算出所有的结果,而是在需要访问时逐个生成并返回。因此,迭代器非常适合用于遍历大型集合或无限集合。 迭代器的实现 要实现一个迭代器,需要定义一个类,这个类必须实现两个方法:_…

    python 2023年6月3日
    00
  • Python3读取和写入excel表格数据的示例代码

    下面我来详细讲解Python3读取和写入Excel表格数据的示例代码的实例教程。 1. 准备工作 首先你需要安装Python的Excel表格操作工具——openpyxl模块。在终端中输入以下命令来安装: pip install openpyxl 安装完成后即可使用该模块的相关功能。 2. 读取Excel表格数据 2.1. 打开Excel表格 我们首先需要使用…

    python 2023年5月13日
    00
  • Python href 并保存到 .txt(不用担心,不是另一个正则表达式问题)

    【问题标题】:Python href and save to .txt (no worries, not another regex question)Python href 并保存到 .txt(不用担心,不是另一个正则表达式问题) 【发布时间】:2023-04-02 23:57:02 【问题描述】: 我目前正在创建一个 python 脚本,允许用户输入种子…

    Python开发 2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部