news 2026/4/16 17:49:49

正则表达式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
正则表达式

今天我们来讲讲正则表达式,那么什么是正则表达式呢,正则表达式是通过元字符(具有特殊含义的字符)和普通字符(如字母,数字)组合而成的“规则字符串”。语法都是各种符号,不好理解,不好记忆,通用性强,几乎每个语言用法都一样,这样的式子就是正则表达式。

一.我们先说一下正则表达式的三种匹配方式吧:

方式一:re.match(pattern,string,flags) 特点是:只能从开头开始匹配,只能返回第一个匹配成功的内容

方式二:re.search(pattern,string,flags) 特点是:可以整个字符串搜索,只能返回第一个匹配成功的内容

方式三:re.findall(pattern,string,flags) 特点是:可以整个字符串搜索,可以返回所有匹配成功的内容

代码示例:

import re #提前定义函数用于判断结果获取数据 def num(result): if result: print(f'匹配成功:{result.group}') else: print(f'匹配失败') #2.匹配数据 #已知数据 html_str="""<html><head>你好</head><body>你好</body></html>""" #方式1:match匹配html result1= re.match('html',html_str) num(result1) #方式二:search匹配html result2=re.search('html',html_str) num(result2) #方式3:findall匹配html result3=re.findall('html',html_str) print(result3)

二,简单介绍几个常用的正则表达式的匹配规则:

规则一:匹配单个字符 eg:. 匹配任意1个字符

\d 匹配任意1个数字

\w 匹配任意1个正常字符(字母,数字,下划线,汉字)

规则二:匹配多个字符 eg: * 匹配前一个字符出现0次或者无限次 次数>=0

+ 匹配前一个字符出现1次或者无限次 次数>=1

? 匹配前一个字符出现0次或者1次 次数== 0 或者 次数 == 1

{x} 匹配前一个字符出现x次 次数==x

{x,y} 匹配前一个字符出现x到y次 次数>=x 并且 次数<=y

规则三:匹配开头和结尾 eg:^匹配开头 $匹配结尾 注意: 两个一般一起使用,起到限制作用

规则四:匹配分组相关内容 eg: () 分组,默认产生从1开始的组号

(?P<别名>) 给当前分组起别名

(?P=别名) 引用对应别名的分组内容

三.正则表达式的一些优点:

1,强大的模式匹配能力

2,高度简洁高效

3,标准化和通用性

4,执行效率高(对于复杂操作)

5,广泛应用于数据处理

注意:大家平时可以在Reges101或者RegExr在线工具学习

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 10:40:37

前端技术的下一次跃迁:从工程化到智能化的全面演进

过去十年&#xff0c;前端技术经历了史无前例的高速演化&#xff1a;从页面切图到组件化框架&#xff0c;从手工构建到高度工程化体系&#xff0c;从简单交互到复杂 Web 应用。如今&#xff0c;我们正站在新一代技术浪潮的门口——前端正在从“工程驱动”迈向“智能驱动”。这一…

作者头像 李华
网站建设 2026/4/16 12:16:32

DownKyi终极指南:快速掌握B站视频下载全技巧

DownKyi终极指南&#xff1a;快速掌握B站视频下载全技巧 【免费下载链接】downkyi 哔哩下载姬downkyi&#xff0c;哔哩哔哩网站视频下载工具&#xff0c;支持批量下载&#xff0c;支持8K、HDR、杜比视界&#xff0c;提供工具箱&#xff08;音视频提取、去水印等&#xff09;。 …

作者头像 李华
网站建设 2026/4/16 12:15:58

Flutter 基础组件实战:Text 与 Container 组件快速上手

一、引言基础的Text和Container组件是 Flutter 界面开发的 “基石”&#xff0c;但仅掌握基础用法不足以应对实际开发中的复杂场景。本文在基础用法之上&#xff0c;补充进阶属性、多场景实战案例、常见问题解决方案&#xff0c;所有代码均可直接复制运行&#xff0c;帮助你从 …

作者头像 李华
网站建设 2026/4/16 4:53:10

17、树莓派:多功能项目与实用资源指南

树莓派:多功能项目与实用资源指南 1. 树莓派人脸识别保险箱 拥有一个保险箱是存放贵重物品的好方法,现在借助免费软件、树莓派和树莓派相机,你可以打造一个 DIY 人脸识别保险箱。免费软件基于 OpenCV,这是一个能在树莓派上良好运行的小程序,相机则使用合适的树莓派相机模…

作者头像 李华
网站建设 2026/4/16 10:39:42

【单片机】orange prime pi开发板与单片机的区别

单片机与Orange Pi的核心差异体现在硬件架构、功能定位和系统支持上&#xff0c;以下是具体区别&#xff1a;一、单片机&#xff08;MCU&#xff09;的特点- 硬件架构&#xff1a;集成CPU、RAM、ROM、I/O接口于单一芯片&#xff0c;资源有限&#xff08;如8位/16位CPU&#xff…

作者头像 李华
网站建设 2026/4/16 12:15:57

Spring7指南(三)之Bean的生命周期

项目工程完整地址&#xff1a;https://github.com/YiyiCoding/Spring7Guides Bean的单例说明多例Bean&#xff08; Scope(“prototype”) &#xff09;每次都由IOC容器New一个新对象&#xff0c;此处之外跟容器没有太多的联系性单例才具有生命周期的概念单例有懒加载的概念&…

作者头像 李华