正则表达式简述

news2025/3/10 8:34:37
  1. 普通字符
    普通字符代表它们自身,用于精确匹配字符串中的字符。例如,a 匹配字符 a,1 匹配数字 1。
  2. 元字符
    元字符是具有特殊含义的字符,用于匹配特定类型的字符或字符串模式。
    常用元字符
    . :匹配除换行符以外的任意单个字符。例如,a.c 可以匹配 abc、a1c 等。
    ^ :匹配字符串的开始位置。例如,^abc 只匹配以 abc 开头的字符串。
    $ :匹配字符串的结束位置。例如,abc$ 只匹配以 abc 结尾的字符串。
    * :匹配前面的元素零次或多次。例如,ab*c 可以匹配 ac、abc、abbbc 等。
    + :匹配前面的元素一次或多次。例如,ab+c 可以匹配 abc、abbbc 等,但不能匹配 ac。
    ? :匹配前面的元素零次或一次。例如,ab?c 可以匹配 ac 或 abc。
    {n} :匹配前面的元素恰好 n 次。例如,a{3} 只匹配 aaa。
    {n,} :匹配前面的元素至少 n 次。例如,a{3,} 可以匹配 aaa、aaaa 等。
    {n,m} :匹配前面的元素至少 n 次,但不超过 m 次。例如,a{3,5} 可以匹配 aaa、aaaa、aaaaa。
    | :或运算符,匹配两个或多个模式中的任意一个。例如,a|b 可以匹配 a 或 b。
    () :分组,用于将多个元素组合成一个单元,并可以对分组应用量词或其他操作。例如,(ab)+ 可以匹配 ab、abab 等。
  3. 字符类
    字符类用于匹配一组字符中的任意一个。
    常用字符类
    [ ]:匹配方括号内的任意一个字符。例如,[abc] 可以匹配 a、b 或 c。
    [^ ]:匹配不在方括号内的任意一个字符。例如,[^abc] 可以匹配除 a、b、c 以外的任意字符。
    [a-z]:匹配任意小写字母。
    [A-Z]:匹配任意大写字母。
    [0-9]:匹配任意数字。
    [a-zA-Z0-9]:匹配任意字母或数字。
  4. 预定义字符类
    预定义字符类是一些常用字符类的缩写。
    常用预定义字符类
    \d:等价于 [0-9],匹配任意数字。
    \D:等价于 [^0-9],匹配任意非数字字符。
    \w:等价于 [a-zA-Z0-9_],匹配任意字母、数字或下划线。
    \W:等价于 [^a-zA-Z0-9_],匹配任意非字母、数字或下划线的字符。
    \s:匹配任意空白字符,包括空格、制表符、换行符等。
    \S:匹配任意非空白字符。
  5. 边界匹配
    边界匹配用于匹配字符串中的特定位置。
    常用边界匹配
    \b:匹配单词边界,即单词与非单词字符之间的位置。例如,\bcat\b 只匹配独立的单词 cat,而不匹配 category 中的 cat。
    \B:匹配非单词边界。
  6. 贪婪与非贪婪匹配
    贪婪匹配:默认情况下,量词(如 *、+、{n,} 等)是贪婪的,即尽可能多地匹配字符。例如,a.b 会匹配从第一个 a 到最后一个 b 之间的所有字符。
    非贪婪匹配:在量词后面加上 ? 可以将其变为非贪婪匹配,即尽可能少地匹配字符。例如,a.
    ?b 会匹配从第一个 a 到最近的一个 b 之间的字符。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2312591.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FPGA学习篇——Verilog学习5(reg,wire区分及模块例化)

1 何时用reg,何时用wire? 这个我找了一些网上的各种资料,大概说一下自己的理解,可能还不太到位... wire相当于一根线,是实时传输的那种,而reg是一个寄存器,是可以存储数据的,需要立…

Redis 数据持久化之AOF

AOF(Append Only File) 以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换…

【芯片验证】verificationguide上的74道SystemVerilog面试题

诧异啊,像我这种没事在网上各处捡东西吃的人为什么之前一直没有用过verificationguide这个网站呢?总不能是大家都已经看过就留下我不知道吧。前几天在论坛上和朋友谈论验证面试题时才搜到这个网站的,感觉挺有意思: .: Verification Guide :.​verificationguide.com/https…

Java后端高频面经——计算机网络

TCP/IP四层模型?输入一个网址后发生了什么,以百度为例?(美团) (1)四层模型 应用层:支持 HTTP、SMTP 等最终用户进程传输层:处理主机到主机的通信(TCP、UDP&am…

面试题(二)--Object中的常见方法

Object Java的Object是所有Java类的父类,所有的Java类直接或者间接的继承了Object类,Object类位于java.lang包中(编译时自动导入),主要提供了11种方法。 /*** native 方法,用于返回当前运行时对象的 Class…

运行OpenManus项目(使用Conda)

部署本项目需要具备一定的基础:Linux基础、需要安装好Anaconda/Miniforge(Python可以不装好,直接新建虚拟环境的时候装好即可),如果不装Anaconda或者Miniforge,只装过Python,需要确保Python是3.…

设备管理系统功能与.NET+VUE(IVIEW)技术实现

在现代工业和商业环境中,设备管理系统(Equipment Management System,简称EMS)是确保设备高效运行和维护的关键工具。本文采用多租户设计的设备管理系统,基于.NET后端和VUE前端(使用IVIEW UI框架&#xff09…

数据类设计_图片类设计之2_无规则图类设计(前端架构基础)

前言 学的东西多了,要想办法用出来.C和C是偏向底层的语言,直接与数据打交道.尝试做一些和数据方面相关的内容 引入 接续上一篇数据类设计_图片类设计之1_矩阵类设计(前端架构基础)-CSDN博客,讨论非规则图类型的设计 无规则图的简单定义 前面的矩阵类,有明显的特征:长,宽,行和…

aws(学习笔记第三十二课) 深入使用cdk(API Gateway + event bridge)

文章目录 aws(学习笔记第三十二课) 深入使用cdk学习内容:1. 使用aws API Gatewaylambda1.1. 以前的练习1.2. 使用cdk创建API Gateway lambda1.3. 确认cdk创建API Gateway lambda 2. 使用event bridge练习producer和consumer2.1. 代码链接2.2. 开始练习2.3. 代码部…

计算机视觉算法实战——老虎个体识别(主页有源码)

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​ ​​​ 1. 领域介绍 老虎个体识别是计算机视觉中的一个重要应用领域,旨在通过分析老虎的独特条纹图案,自动识别和区…

Qt添加MySql数据库驱动

文章目录 一. 安装MySql二.编译mysql动态链接库 Qt版本:5.14.2 MySql版本:8.0.41 一. 安装MySql 参考这里进行安装:https://blog.csdn.net/qq_30150579/article/details/146042922 将mysql安装目录里的bin,include和lib拷贝出来…

蓝桥杯备考:图论初解

1:图的定义 我们学了线性表和树的结构,那什么是图呢? 线性表是一个串一个是一对一的结构 树是一对多的,每个结点可以有多个孩子,但只能有一个父亲 而我们今天学的图!就是多对多的结构了 V表示的是图的顶点集…

【每日学点HarmonyOS Next知识】输入框自动获取焦点、JS桥实现方式、Popup设置全屏蒙版、鼠标事件适配、Web跨域

1、HarmonyOS TextInput或TextArea如何自动获取焦点? 可以使用 focusControl.requestFocus 对需要获取焦点的组件设置焦点,具体可以参考文档: https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-universal-attribut…

网络空间安全(19)CSRF攻防

一、简介 跨站请求伪造(Cross-Site Request Forgery,简称CSRF)是一种网络攻击方式。攻击者通过诱导受害者访问恶意页面,利用受害者在被攻击网站已经获取的注册凭证(如Cookie),绕过后台的用户验证…

DEV C++安装

点击----我接受 点击--下一步 选择安装路径: D盘安装选择路径: 点击----安装等待安装完成点击---完成即可 一路下一步即可

ESP32驱动OV3660摄像头实现物体轮廓识别(摄像头支持红外夜视、边缘AI计算)

目录 1、传感器特性 2、硬件原理图 3、驱动程序 ESP32-S3 AI智能摄像头模块是一款专为智能家居和物联网应用打造的高性能边缘AI开发模组。它集成了摄像头、麦克风、音频功放、环境光传感器和夜视补光灯,无需依赖云端即可实现本地化AI推理。 凭借TensorFlow Lite、YOLO和O…

深入探讨 Docker 层次结构及其备份策略20250309

深入探讨 Docker 层次结构及其备份策略 本文将深入探讨 Docker 层次结构 以及在 不同场景下应选择哪种备份方式。通过本文的介绍,您将对如何高效地管理和迁移 Docker 容器有更深的理解。 📌 什么是 Docker 层次结构? Docker 镜像采用了 分…

游戏引擎学习第145天

仓库:https://gitee.com/mrxiao_com/2d_game_3 今天的计划 目前,我们正在完成遗留的工作。当时我们已经将声音混合器(sound mixer)集成到了 SIMD 中,但由于一个小插曲,没有及时完成循环内部的部分。这个小插曲主要是…

如何在el-input搜索框组件的最后面,添加图标按钮?

1、问题描述 2、解决步骤 在el-input组件标签内,添加一个element-plus的自定义插槽, 在插槽里放一个图标按钮即可。 3、效果展示 结语 以上就是在搜索框组件的末尾添加搜索按钮的过程。 喜欢本篇文章的话,请关注本博主~~

NoteGen是一款开源跨平台的 AI 笔记应用,专注于 recording 和 writing ,基于 Tauri 开发

一、软件介绍 文末提供程序和源码下载 NoteGen 是一款专注于记录和写作的跨平台 AI 笔记应用,基于 Tauri 开发。NoteGen 的核心理念是将记录、写作和 AI 结合使用,三者相辅相成。记录功能可以帮助用户快速捕捉和整理碎片化知识。整理功能是连接记录和写…