js-正则表达式

一、基本规则

1.字面量表示法:正则表达式可以使用字面量形式创建,例如 /pattern/,其中 pattern 是要匹配的模式。 

//直接匹配xxx字符
var reg = /abc/

2.构造函数表示法:你也可以使用 RegExp 构造函数来创建一个正则表达式,例如 new RegExp('pattern')

//i 忽略大小写 
//m 匹配多行 
//g 全局匹配 不只匹配第一个,只要有都会匹配出来
var praten = /abc/  
var reg = new RegExp(praten,'gi'); 

3.元字符:正则表达式中的特殊字符称为元字符,包括 ^$.*+?\ 等,它们具有特殊的含义。

^:匹配输入字符串的开始位置。
$:匹配输入字符串的结尾位置。
.:匹配除了换行符之外的任意一个字符。
*:匹配前面的字符或子表达式零次或多次。
+:匹配前面的字符或子表达式一次或多次。
?:匹配前面的字符或子表达式零次或一次。
\:转义字符,可以将普通字符转义为元字符。
[]:字符类,匹配方括号中的任意一个字符。
():分组,可以将多个字符或子表达式组合成一个整体。

4.字符类:使用方括号 [] 来定义一个字符类,如 [abc] 表示匹配 abc 中的任意一个字符。

//不匹配a到z 0到9 A到Z里的任意字符
var reg = /[^a-z0-9A-Z]/
^只有在开头和括号内才有作用 

5.量词:通过量词可以指定匹配的次数,如 * 表示零次或多次,+ 表示一次或多次,? 表示零次或一次。

*:表示匹配前面的模式零次或多次。例如,abc 可以匹配 "ac"、"abc"、"abbc" 等。
+:表示匹配前面的模式一次或多次。例如,ab+c 可以匹配 "abc"、"abbc"、"abbbc" 等。
?:表示匹配前面的模式零次或一次。例如,ab?c 可以匹配 "ac" 或 "abc"。
{n}:表示匹配前面的模式恰好出现 n 次。例如,a{3} 只能匹配 "aaa"。
{n,}:表示匹配前面的模式至少出现 n 次。例如,a{2,} 可以匹配 "aa"、"aaa"、"aaaa" 等。
{n,m}:表示匹配前面的模式出现至少 n 次但不超过 m 次。例如,a{2,4} 可以匹配"aa"、"aaa"、"aaaa"。

6.选择符:使用竖线 | 表示选择符,可以在多个模式中选择一个,如 cat|dog 表示匹配 catdog

7.分组:使用圆括号 () 可以将模式分组,以便对分组内的模式进行操作,如 (ab)+ 表示匹配一个或多个连续的 ab

8.转义字符:使用反斜杠 \ 来转义特殊字符,如 \d 表示匹配数字,\w 表示匹配单词字符。

9.修饰符:在正则表达式末尾可以添加修饰符,如 i 表示不区分大小写,g 表示全局匹配、

m表示多行匹配。

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

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

相关文章

php链接oracle乱码,尝试把一个php的项目转成java,

​ 最近有个新需求,OA上的考勤信息确认,开始的时候搞了个php的版本,莫名其妙的数据库会乱码(oracle)(等有时间再写一篇php链接oracle数据库)折腾了将近一个周,乱码莫名其妙的出现,代…

MyBatis环境的搭建

1.创建 Maven 工程 打开idea新建一个项目File → Project Structure → Project,build system中选择maven (1)由于 IDEA 中集成了 Maven,所以我们就不需要下载了,直接使用 IDEA 默认的 Maven 进行项目构建。 &#…

【NSX-T】10. 搭建NSX-T环境 —— 使用 BGP 配置 Tier-0 网关

目录 10.1 创建上行链路网段10.2 创建 Tier-0 网关(1)设置 Interface 信息(2)设置 BGP添加 BGP 邻居 (3)设置 BGP 路由重分发设置路由重新分发 10.3 连接 Tier-0 和 Tier-1 网关10.4 使用网络拓扑验证 Tier…

VLAN间的通讯---三层交换

一.三层交换 1.概念 使用三层交换技术实现VLAN间通信 三层交换二层交换 三层转发 2.基于CEF的MLS CEF是一种基于拓补转发的模型 转发信息库(FIB)临接关系表 转发信息库(FIB)可以理解为路由表 邻接关系表可以理解为MAC地址表…

Facebook广告系统结构

Facebook广告系统是一个复杂的大型系统,由多个组件和子系统相互配合工作,实现了广告的投放、拍卖、个性化推荐和效果评估等功能。下面小编讲讲Facebook广告系统的结构。 1、广告管理界面 广告管理界面是广告主与Facebook进行交互的入口,广告…

猿人学19题(原比赛平台)

这道题给我搞得有点懵了,我现在还没发现他到底要考察什么,这边我直接协商我的sessionid请求是直接就成功的。😂 依旧是分析请求方式,抓包到返回数据的位置 现在可以知道这些数据是ajax返回的,请求的参数是page&#x…

企业AI助理:数字助理嵌入更多应用场景

随着科技的快速发展,人工智能(AI)已经成为现代企业不可或缺的一部分。数字助理作为AI的一种形式,正在越来越多地嵌入到企业的各个应用场景中,为企业提供更加智能化、高效化的服务。本文将探讨企业AI助理的发展趋势、应…

Spark RDD、DataFrame、DataSet比较

在Spark的学习当中,RDD、DataFrame、DataSet可以说都是需要着重理解的专业名词概念。尤其是在涉及到数据结构的部分,理解清楚这三者的共性与区别,非常有必要。 RDD,作为Spark的核心数据抽象,是Spark当中不可或缺的存在…

MacOS下C,C++编译器路径与源码位置(附 bits/stdc++.h)

categories: [C_C] tags: C 写在前面 在下面的位置中写入(先mkdir bits) stdc.h文件内容: 参考 gcc 源码 gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/include/precompiled/stdc%2B%2B.h; // C includes used for precompiling -*- C -*-// Copyright (C) 2003-2023 Free …

Linux(操作系统)面经——part2

1、请你说说进程和线程的区别 1.进程是操作系统资源分配和调度的最小单位,实现操作系统内部的并发;线程是进程的子任务,cpu可以识别、执行的最小单位,实现程序内部的并发。 2.一个进程最少有一个线程或有多个,一个线程…

C语言写的 mini版的 http 服务器 , 很详细

文章目录 效果展示整体架构流程技术细节完整代码 效果展示 例如:htpp://192.168.23.140/home.html -> 正确的请求格式 home.html 这个资源是放在我们服务器里面的 , 并不是随便访问的资源,当然我们可以放很多的资源进去. 整体架构流程 整个实现的流…

无心剑英译朱自清《匆匆》

匆匆 Vanished in Haste 朱自清 By Zhu Ziqing 燕子去了,有再来的时候;杨柳枯了,有再青的时候;桃花谢了,有再开的时候。但是,聪明的,你告诉我,我们的日子为什么一去不复返呢?——是有人偷了他们罢:那是谁?又藏在何处呢?是他们自己逃走了罢:现在又到了哪里呢? Sw…

如何使用Docker进行容器的备份和恢复

一 简介: 在使用Docker进行应用程序的容器化部署时,我们经常需要对容器进行备份和恢复操作。备份容器可以保证数据的安全性,而恢复操作可以帮助我们快速恢复出现问题的容器。本文将介绍如何使用Docker进行容器的备份和恢复,同时提…

Buck电源设计常见的一些问题(二)MOS管炸机问题

MOS管炸机问题 1.概述2.MOS管的相关参数3.过电压失效4.过电流失效5.静电放电和热失效1.概述 在我们做电源产品或者电机控制器时候,经常会坏MOS管。我相信90%以上的硬件工程师在职场生涯中都会遇到这类问题。然而这类问题也总是让人防不胜防。经常我们都会开玩笑的说,没烧过管…

【JavaWeb】用注解代替配置文件

WebServlet("/query") public class QueryServlet extends HttpServlet {...}在Servlet类上写WebServlet("query"),就相当于在配置文件里写了↓ <servlet><servlet-name>query</servlet-name><servlet-class>QueryServlet</se…

Spring MVC与Spring Boot简单理解

假设你要制作一份披萨&#xff0c;那么可以将整个过程类比为开发一个Web应用程序。 Spring MVC比喻为制作披萨的过程&#xff1a; 摊饼皮&#xff1a;在制作披萨时&#xff0c;首先需要摊开饼皮作为基础。 准备配料&#xff1a;接下来&#xff0c;你会选择各种配料&#xff0…

【数据结构第 6 章 ④】- 用 C 语言实现图的深度优先搜索遍历和广度优先搜索遍历

目录 一、深度优先搜索 1.1 - 深度优先搜索遍历的过程 1.2 - 深度优先搜索遍历的算法实现 二、广度优先搜索 2.1 - 广度优先搜索遍历的过程 2.2 - 广度优先搜索遍历的算法实现 和树的遍历类似&#xff0c;图的遍历也是从图中某一顶点出发&#xff0c;按照某种方法对图中所…

壹基金瑞金东升社区儿童服务站上演“甜蜜冬日”亲子DIY蛋糕秀

12月9日上午&#xff0c;一场温情满溢的亲子DIY蛋糕活动&#xff0c;在壹基金瑞金东升社区儿童服务站拉开了帷幕&#xff0c;空气里有香甜的奶油味道&#xff0c;浓浓的温馨气息感染着在场的每一个人。 自己动手做的&#xff0c;才有意义&#xff0c;蛋糕DIY是一项很好的亲子活…

油封在机械系统中不可或缺的作用

油封是众多机械系统中的基本组件。但我们到底为什么要使用油封呢?本文旨在阐明油封所发挥的关键作用及其广泛使用背后的原因。 油封的主要作用&#xff1a; 油封的主要功能是充当屏障。它可以防止润滑油从机器和轴承内部的缝隙中泄漏&#xff0c;确保机械部件的平稳运行。同…

Mysql的聚簇索引(聚集索引)和非聚簇索引的区别

MySQL中的索引分为两种主要类型&#xff1a;聚簇索引&#xff08;Clustered Index&#xff09;和非聚簇索引&#xff08;Non-clustered Index&#xff09;。这两种索引的主要区别在于它们如何组织数据和索引的方式。 聚簇索引&#xff08;Clustered Index&#xff09; 聚簇索…