首页 > 编程语言 >Python字符串过滤器:正则表达式Regular Expression

Python字符串过滤器:正则表达式Regular Expression

时间:2024-04-23 20:35:27浏览次数:30  
标签:字符 匹配 Python pattern 正则表达式 re Regular 规则 Expression

一、什么是正则表达式

正则表达式是按照正确的既定规则、一种全语言类型Python、Java、JavaScript、PHP通用的表达式。

用途:

(1)根据规则抓取数据:配合爬虫、根据规则在文本中提取数据

(2)根据规则验证数据:验证手机号、验证邮箱、验证身份证

二、如何在Python中使用正则表达式

在Python中正则表达式的1个模块+2个方法需要学习

re模块 re=regular expression

import re

 re方法一:根据规则查找/提取内容 

re.findall(查找规则,匹配内容)

 返回结构化数据,两个参数,形式参数为pattern(规律)string(需要查找/匹配的字符串)

re方法二:根据规则匹配/验证内容

re.match(匹配规则,匹配内容)

返回布尔,两个参数,形式参数为pattern(规律)string(验证字符串)

三、正则表达式的规则

正则表达式普通字符:

(1)普通字符是我们常规认识的a-z A-Z 0-9中文以及标点符号

正则表达式特殊符号/通配符/元字符,常用特殊字符包含:

(1)直接规则字符:. +  *  ?  \d  \D  \w  \W  \s   \S  ^

(2)辅助规则字符(){} []

这几个括弧不是数据类型

字符代表含义

. 匹配除了换行以外的任何一个字符
+ 匹配前边子表达式规则字符任意次数(至少出现一次)
* 匹配前边子表达式规则字符任意次数包含0次
尽可能少匹配,禁止贪婪模式
\d 匹配一个数字
\D 匹配一个非数字
\w 匹配包括下划线的任何单词字符
\W 匹配任何非单词字符
\s 匹配任何空白字符
\S 匹配任何非空白字符
^ 字符串开头匹配
$ 字符串结束匹配
[] 筛选条件
() 分组(作为一个整体)
{} 出现次数 范围/固定

特别注意^符号与[]搭配使用代表"非" 如[^a],非a全取   

举例:任务提起老师的姓名

import re

txt='''万门大学老师:宁夫
       万门大学老师:正正
       万门大学老师:陪陪'''
pattern=r":.*"
res=re.findall(pattern,txt)
print(res)

 

 输出结果:

import re

txt='''万门大学老师:宁夫
       万门大学老师:正正
       万门大学老师:陪陪'''
pattern=r":(.*)"
res=re.findall(pattern,txt)
print(res)

 输出结果:

举例:提取电话号码

import re

info='''mike,18391911111,39
      lin,13932111111,40
      danial,15932431115,45
      frank,1A932431115,45'''

pattern=r"\d{11}"
result=re.findall(pattern,info)
print(result)

  

  

 

 

 

  

 

 

 

 

 

 

 

 

 

 

 

 

标签:字符,匹配,Python,pattern,正则表达式,re,Regular,规则,Expression
From: https://www.cnblogs.com/longlyseul/p/18153686

相关文章

  • 在 Python 中的contains
    点击查看代码在Python中,contains通常是指检查一个元素是否存在于某个数据结构(如列表、元组、字符串、集合等)中。然而,Python中并没有一个名为contains的内置函数。相反,我们使用in关键字来实现类似的功能。以下是一些使用in关键字检查元素是否存在于不同数据结构中的......
  • Python 函数和变量作用域
    变量引用顺序Python引用变量的顺序:当前作用域局部变量->外层作用域变量->当前模块中的全局变量->Python内置变量。1、globalglobal关键字用来在函数或其他局部作用域中使用全局变量,如果不对全局变量进行修改,那么可以不使用global关键字;如果想要在函数或局部作用域中对全局变......
  • 用Python程序如何捕获Ctrl+C终止信号?
    对于一些连续运行或者长时间运行的Python程序而言,如服务器的后端,或者是长时间运行的科学计算程序。当我们涉及到一些中途退出的操作时,比如使用Ctrl+C来退出正在运行的程序。这种场景的出现一般有两个可能性:一是程序出现了问题,需要终止程序来对其进行调整。另一种是程序本身是正......
  • Python中列表和字符串的反转
    一、Python现成的反转功能:在Python中有专门进行列表反转的函数--reverse()l=[13,30,42,85,9,45]l.reverse()#[45,9,85,42,30,13]还可以使用切片操作进行列表反转l=[13,30,42,85,9,45]print(l[::-1])#[45,9,85,42,30,13]关于字符串的反转,并没......
  • Python中的私有属性与私有方法
    关于Python中的私有属性和私有方法Python对于类的成员没有严格的访问控制限制,这与其他面相对对象语言有区别。关于私有属性和私有方法,有如下要点:1、通常我们约定,两个下划线开头的属性是私有的(private)。其他为公共的(public);2、类内部可以访问私有属性(方法);3、类外部不能直接访问......
  • python3下安装mysqlclient各种报错 raise OSError mysql_config not found
    linux下载地址:https://files.pythonhosted.org/packages/a5/e1/e5f2b231c05dc51d9d87fa5066f90d1405345c54b14b0b11a1c859020f21/mysqlclient-2.0.1.tar.gz#sha256=fb2f75aea14722390d2d8ddf384ad99da708c707a96656210a7be8af20a2c5e5在服务器执行pipinstallmysqlclient-2.0.......
  • 接口测试方法:Spring boot Test、python、postman
    一般的rest接口在pom.xml中加入org.springframework.bootspring-boot-starter-testtest新建测试类@RunWith(SpringRunner.class)@SpringBootTestpublicclassUserControllerTest{privateMockMvcmvc;//初始化执行@BeforepublicvoidsetUp()throwsException......
  • Python 中删除文件夹下文件的方法详解
    前言在编写和维护Python脚本时,经常会遇到需要删除文件夹中特定文件的情况。Python提供了多种方法来实现这一目标,本文将介绍几种常用的方法,以及它们的优缺点和适用场景。方法一:使用os模块Python的os模块提供了操作文件系统的功能,可以轻松实现删除文件夹下的文件。下面......
  • 使用 Python 循环创建多个列表
    前言在Python中,我们可以使用循环来动态创建多个列表,这在处理数据、进行数据分析或进行算法实现时非常有用。本文将介绍几种常见的方法,以帮助大家学习如何使用循环创建多个列表。方法一:使用列表推导式列表推导式是Python中一种简洁的语法,可以快速生成列表。我们可以结合循......
  • Python 字符串格式化指南
    前言在Python中,字符串格式化是一种常见且重要的操作,用于将变量或值插入到字符串中,并控制输出的格式。本文将介绍几种常见的字符串格式化方法,帮助大家掌握在Python中有效地处理字符串的技巧。方法一:使用%操作符格式化字符串使用%操作符是一种传统的字符串格式化方法,可......