正则表达式:元字符

一、什么事元字符

正则是由一系列的元字符组成的,所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,元字符是构成正则表达式的基本元件。

二、元字符的分类

在这里插入图片描述

1.特殊单字符

在这里插入图片描述
效果:

①.任意字符(换行符除外):

在这里插入图片描述
②\d 任意数字:

在这里插入图片描述
③\D 任意非数字:

在这里插入图片描述
其它特殊字符的效果可以查看:https://regex101.com/r/PnzZ4k/1

2.空白符在这里插入图片描述

注:关于换行符,Windows 里是 \r\n,在 Linux 和 MacOS 中是 \n。

在这里插入图片描述
可以看到, \s 能匹配上空格、Tab、换行等各种空白符号。

3.量词

在这里插入图片描述

4.范围

在这里插入图片描述
其中:
① 管道符号:|,它用来隔开多个正则,表示满足其中任意一个就可以。比如,ac|bc 能匹配上 ac,也能匹配上 bc。
②多选一符号:[],只要满足里面的任意单个字符就可以,所以要匹配0~9的数字,可以使用:[0123456789]。另外,中括号中,我们还可以用中划线表示范围,比如 [0-9](等价于[0123456789]),同理[a-z] 可以表示所有小写字母。如果中括号第一个是脱字符(^),那么就表示非,表达的是不能是里面的任何单个元素。

5.断言

在JavaScript中,正则断言是一种正则表达式的高级功能,用于在匹配过程中进行条件判断。它允许你在不消耗字符的情况下,对字符串中的特定位置进行匹配。

注:"不消耗字符"的意思是,断言匹配的位置不会在字符串中占据字符位置,也就是说,匹配成功后,匹配位置之前和之后的字符仍然可以被其他模式匹配到。这样的断言称为零宽断言,因为它们不会消耗字符串中的字符。

正则断言分为前瞻断言和后顾断言。
前瞻断言又可以分为:肯定前瞻断言(正向断言)和否定前瞻断言(负向断言);
后顾断言又可以分为:肯定后顾断言(正向否定断言)和否定后顾断言(负向否定断言)

①正向断言(Positive Lookahead):(?=...)

用于匹配后面跟随特定模式的字符串位置。它不会消耗字符,只是检查后面的字符是否满足条件。

②负向断言(Negative Lookahead):(?!...)

负向断言用于匹配后面不跟随特定模式的字符串位置。同样,它不会消耗字符。

③正向否定断言(Positive Lookbehind):(?<=...)

正向否定断言用于匹配前面是特定模式的字符串位置。它不会消耗字符,只是检查前面的字符是否满足条件。注意,这个特性在ES2018之前是不可用的。

④负向否定断言(Negative Lookbehind):(?<!...)

负向否定断言用于匹配前面不是特定模式的字符串位置。同样,它不会消耗字符。注意,这个特性在ES2018之前是不可用的。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

51单片机相关寄存器

前言 单片机复习的时候对应寄存器的记忆感觉很混乱&#xff0c;这里进行一下整理,后面的单词是我用来辅助记忆的&#xff0c;可能并不是表示原本的含义。 P3口的第二功能 0RXD 串行数据输入口 1TXD串行数据输出口2INT0外部中断0输入3INT1外部中断1输入4T0定时器0外部计数输入…

spring之资源操作:Resources

学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持&#xff0c;想组团高效学习… 想写博客但无从下手&#xff0c;急需…

等级保护的基本要求(一)

目录 等级保护的标准定位 其他标准的关系 标准适用范围 标准编写思路 描述模型 基于安全保护能力 能力目标 第一级安全保护能力 第二级安全保护能力 第三级安全保护能力 第四级安全保护能力 描述模型-管理要求特点 描述模型-覆盖范围特点 等级保护的标准…

【汇编先导】-- 2

汇编先导 6. 寄存器 存储数据&#xff1a;CPU > 内存 > 硬盘(固态、机械) CPU还可分为&#xff1a; 32位CPU 8 16 32 64位CPU 8 16 32 64(增加了寻址能力) 通用寄存器 # 32位的通用寄存器只有8个 # 可以在任意软件的底层看到 # 通用寄存器可以存储任何值存值的范围…

ES6-11

一、ES6 js的异步和同步&#xff0c;js是单线程语言&#xff1a; 同步&#xff1a;加入主线程&#xff0c;按顺序执行&#xff0c;即上一个同步任务结束后&#xff0c;本任务跟着执行。 异步&#xff1a;加入任务队列&#xff0c;等待主线程上任务都执行完毕&#xff0c;请求主…

Ubuntu 常用命令之 date 命令用法介绍

&#x1f4d1;Linux/Ubuntu 常用命令归类整理 date命令在Ubuntu系统中用于显示或设置系统的日期和时间。 date常见的参数 -d, --dateSTRING&#xff1a;显示STRING指定的时间&#xff0c;而不是当前时间。-u, --utc, --universal&#xff1a;显示或设置协调世界时间。-R, --…

《C++避坑神器·二十五》简单搞懂json文件的读写之遍历json文件读写

json.hpp库放在文章末尾 1、遍历json文件读写 &#xff08;1&#xff09;插入新键值对到json之情形1 原来json文件如下所示&#xff1a; {"Connection": {"IpAddress": "192.168.20.1","Rock": 0,"Solt": 1}, "Data…

【Java注解的作用是什么?】

&#x1f341;Java注解的作用是什么&#xff1f; &#x1f341;典型解析&#x1f341;扩展知识仓&#x1f341;什么是元注解&#x1f341;Retention&#x1f341;Target&#x1f341;Documented&#x1f341;Inherited &#x1f341;典型解析 Java 注解用于为 Java 代码提供元数…

W5500-EVB-Pico评估版介绍

文章目录 1 概述2 板载资源2.1 硬件规格2.2 硬件规格2.3 工作条件 3 参考资料3.2 原理图3.3 尺寸图 (单位 : mm)3.4 参考例程 4 硬件协议栈优势 1 概述 W5500-EVB-Pico是基于树莓派RP2040和完全硬连线TCP/IP控制器W5500的微控制器开发板-基本上与树莓派Pico板相同&#xff0c;但…

博客摘录「 Apollo安装和基本使用」2023年11月27日

常见配置中心对比 Spring Cloud Config: https://github.com/spring-cloud/spring-cloud-configApollo: https://github.com/ctripcorp/apolloNacos: https://github.com/alibaba/nacos 对比项目/配置中心 spring cloud config apollo nacos(重点) 开源时间 2014.9 2016…

逻辑运算加法器

前言 逻辑门本质上操作的是单个二进制数&#xff0c;通过高低电压或者有无信号来表示&#xff0c;并且&#xff0c;因为二进制数的原因&#xff0c;一个数字&#xff0c;我们可以通过二进制数来表示&#xff0c;整数可以精确表示&#xff0c;浮点数可以近似表示 本篇文章使用逻…

【前端查漏补缺】每日10题 2023-12-25

1. 实现lodash _get方法 _.get 是 Lodash 库中的一个方法&#xff0c;用于按照给定的路径从对象中获取值。它是一种安全的方式&#xff0c;可以避免在获取嵌套属性时出现的空指针错误。 _.get 方法的语法如下&#xff1a; _.get(object, path, [defaultValue])参数说明&…

python dash call_back 多output 7

效果 代码 # 导入Dash库及其相关组件&#xff0c;用于构建交互式Web应用 from dash import Dash, dcc, html, Input, Output, callback# 定义一个外部样式表&#xff0c;用于美化应用界面 external_stylesheets [https://codepen.io/chriddyp/pen/bWLwgP.css]# 创建一个D…

Jupyter Notebook的安装及在网页端和VScode中使用教程(详细图文教程)

目录 一、Jupyter Notebook1.1 组成组件1.2 优点1.3 常规用途 二、安装及使用2.1 网页端2.1.1 安装Jupyter Notebook2.1.2 检验是否安装成功2.1.3 启动Jupyter Notebook2.1.4 使用Jupyter Notebook 2.2 VScode中安装及使用2.2.1 安装Jupyter2.2.2 使用Jupyter 三、常用命令3.1 …

有没有简单好用的仓库管理系统?

“我是一家小型加工制造企业&#xff0c;希望使用一款免费的仓库管理软件管理下仓库物资&#xff0c;要上手比较快&#xff0c;有各类报表统计功能&#xff01;同时有客服人员可以答疑。PS&#xff1a;最好有配套APP就最方便了。” 稍微总结一下仓库管理系统的需求—— 免费的仓…

开源自托管导航页配置服务Dashy本地搭建结合内网穿透远程访问

开源自托管导航页配置服务Dashy本地搭建结合内网穿透远程访问 简介1. 安装Dashy2. 安装cpolar3.配置公网访问地址4. 固定域名访问 简介 Dashy 是一个开源的自托管的导航页配置服务&#xff0c;具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你可以将自己常用的一…

220v电源转换12v和24v用什么芯片

问&#xff1a;将220V电源转换为12V和24V - 使用什么芯片&#xff1f; 答&#xff1a;常用于将220V电源转换为12V和24V的芯片是AH8669和AH8665。 问&#xff1a;AH8669芯片提供了什么特点&#xff1f; 答&#xff1a;AH8669芯片适用于最大电流为700mA的应用。它内置了MOSFET…

Text2SQL学习整理(五)将Text-to-SQL任务与基本语言模型结合

导语 上篇博客&#xff1a;Text2SQL学习整理&#xff08;四&#xff09;将预训练语言模型引入WikiSQL任务简要介绍了两个借助预训练语言模型BERT来解决WIkiSQL数据集挑战的方法&#xff1a;SQLOVA和X-SQL模型。其中&#xff0c;借助预训练语言模型的强大表示能力&#xff0c;S…

maven下载jar包失败

配置国内镜像 设置国内的仓库,比如: <!--阿里仓库--><mirror><id>alimaven</id><name>aliyun maven</name><url>https://maven.aliyun.com/repository/public/</url><mirrorOf>central</mirrorOf></mirror>…

C++11(上):新特性讲解

C11新特性讲解 前言1.列表初始化1.1{ }初始化1.2std::initializer_list 2.类型推导2.1 auto2.2 typeid2.3 decltype 3.范围for4.STL的变化4.1新容器4.2容器的新方法 5.右值引用和移动语义5.1 左值引用和右值引用5.2 左值引用与右值引用比较5.3 右值引用的使用场景5.4 右值、左值…
最新文章