首页 > 其他分享 >re模块详解

re模块详解

时间:2024-08-19 19:53:36浏览次数:9  
标签:字符 匹配 qweqwqwe qwe re 详解 模块 print

正则表达式(Regular Expression,简称 regex 或 regexp)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在编程和数据处理中,正则表达式极其强大,可以用来搜索、编辑或操作文本和数据。

一、基本概念

  • 普通字符:大多数字母和数字都可以被看作是普通字符。它们匹配自己。例如,正则表达式 test 匹配字符串 "test"。
  • 元字符:在正则表达式中具有特殊含义的字符。例如,. 表示匹配除了换行符之外的任何单个字符。
  • 转义字符:如果你需要匹配一个元字符本身,你可以使用反斜杠 \ 来转义它。例如,要匹配 . 字符,你需要使用 \.

二、常用元字符

  • .:匹配除换行符以外的任意字符。
  • ^:匹配输入字符串的开始位置。
  • $:匹配输入字符串的结束位置。
  • *:匹配前面的子表达式零次或多次。
  • +:匹配前面的子表达式一次或多次。
  • ?:匹配前面的子表达式零次或一次。
  • {n}:n 是一个非负整数。匹配确定的 n 次。
  • {n,}:n 是一个非负整数。至少匹配 n 次。
  • {n,m}:m 和 n 均为非负整数,其中 n <= m。最少匹配 n 次且最多匹配 m 次。
  • [xyz]:字符集合。匹配所包含的任意一个字符。
  • [^xyz]:负值字符集合。匹配未包含的任意字符。
  • \d:匹配一个数字字符。等价于 [0-9]
  • \D:匹配一个非数字字符。等价于 [^0-9]
  • \s:匹配任何空白字符,包括空格、制表符、换页符等。
  • \S:匹配任何非空白字符。
  • \w:匹配包括下划线的任何单词字符。等价于 [A-Za-z0-9_]
  • \W:匹配任何非单词字符。等价于 [^A-Za-z0-9_]

三、常用方法

3.1 匹配

import re
#查找
result = re.search('qwe', 'qweqwqwe')
print(result,result.start(),result.end())

result1 = re.findall('qwe', 'qweqwqwe')
print(result1)

result2 = re.finditer('qwe', 'qweqwqwe')
print(result2)
for r in result2:
    print(r)
'''
结果为
<re.Match object; span=(0, 3), match='qwe'> 0 3
['qwe', 'qwe']
<callable_iterator object at 0x00000234BDD7FA90>
<re.Match object; span=(0, 3), match='qwe'>
<re.Match object; span=(5, 8), match='qwe'>
'''

3.2 替换

import re
# #替换
result3 = re.sub('qwe','*', 'qweqwqwe',count=1)
print(result3)
result4 = re.subn('qwe','*', 'qweqwqwe',count=1)
print(result4)

'''
结果为
*qwqwe
('*qwqwe', 1)
'''

3.3 分割

import re
# #分割
result5 = re.split('qwe', 'qweqwqwe')
print(result5)
result6 = re.split('qwe', 'qweqwqwe',maxsplit=1)
print(result6)
'''
结果为
['', 'qw', '']
['', 'qwqwe']
'''

标签:字符,匹配,qweqwqwe,qwe,re,详解,模块,print
From: https://blog.csdn.net/2301_78319341/article/details/141332798

相关文章

  • Node-RED开源流程网络工具
    文章目录Node-RED开源流程网络工具Node-RED介绍特点和设计理念Node-RDE安装Windows安装Docker安装基础功能示列HTTP发送请求MQTT-示列TCP-示列MQTT-Modbus示列Node-RED综合示列示列Node-RED开源流程网络工具Node-RED介绍Node-RED是一个基于Node.js的开源流程......
  • CHC5223 Data Structures and Algorithms
    CHC5223DataStructuresandAlgorithms2023-2024-21of6AssignmentValue100%ofCourseworkResitIndividualworkBackgroundThesubwaysystemofacityisanetworkofundergroundorelevatedtrainsthatproviderapidtransitforpassengerswithint......
  • 微分方程(Blanchard Differential Equations 4th)中文版Section3.3
    具有实特征值的线性系统的相图在前面的部分,我们看到直线解在求解某些线性微分方程系统的通解中起着主导作用。为了求解这样的系统,我们首先使用代数方法计算系数矩阵的特征值和特征向量。当我们找到一个实特征值和一个相关的特征向量时,就可以写出对应的直线解。此外,在特定情......
  • 字符函数与字符串函数详解
    ......
  • 【OCPP】ocpp1.6协议第5.11章节Remote Start Transaction的介绍及翻译
    目录5.11RemoteStartTransaction-概述1.目的2.消息类型2.1RemoteStartTransaction.req2.2RemoteStartTransaction.conf3.流程描述4.状态和值域5.特殊情况5.11远程启动交易RemoteStartTransaction-原文译文5.11RemoteStartTransaction-概述在OCPP......
  • IDEA常用快捷键大全(详解)
    前言IDEA中提供了很多快捷键,点击File-->Settings-->keymap便可进入看到IDEA提供的快捷键。我们也可以搜索和自定义所有快捷键,下面给出的是IDEA中默认的快捷键;一.Ctrl相关Ctrl+F在当前文件进行文本查找(必备)Ctrl+R在当前文件进行文本替换(必备)Ctrl+Z撤销(必备......
  • ctfshow-web入门-sql注入(web224-web230)文件类型注入、routines存储过程与函数状态、ha
    目录1、web2242、web2253、web2264、web2275、web2286、web2297、web2301、web224登录页面测了下没发现注入点存在robots.txt访问/pwdreset.php  ,是管理员密码重置的页面直接重置密码,这里以123456为例使用admin/123456登录 来到一个文件生成界......
  • ansible相关模块
    copy模块(重点)copy模块⽤于对⽂件的远程拷⻉操作(如把本地的⽂件拷⻉到远程的机器上)https://docs.ansible.com/ansible/latest/modules/copy_module.html#copy-module在master上准备⼀个⽂件,拷⻉此⽂件到group1的所有机器上使⽤content参数直接往远程⽂件⾥写内容(会覆......
  • 【收藏】Arcgis api4.x renderer根据字段值渲染,唯一值渲染和分级渲染
    1.根据字段值渲染(唯一值渲染)  定义唯一值渲染器中每个唯一值的样式,以根据数据字段的不同值为要素指定不同的符号,从而实现基于分类数据的图形化表示。 constrenderer={type:"unique-value",field:"type",defaultSymbol:{type:"simple-marke......
  • 【实战指南】使用 Redis 实现 Java 项目中的防重复提交功能:从原理到实战(实战篇)
    文章目录使用Redis实现Java项目中的防重复提交功能1.引言1.1为何需要防重复提交功能1.2重复提交导致的问题1.3引入Redis作为解决方案的一部分2.基础知识2.1Redis简介2.2Java环境搭建2.3环境配置3.理论基础3.1HTTP请求的特点3.2前端表单提交3.3后......