JS 正则表达式(正则匹配RegExp)

JavaScript实现对象深拷贝的方法(5种)

  • 知识回调(不懂就看这儿!)
  • 场景复现
  • 核心干货
    • 举例引入
    • 关于RegExp对象
      • 语法
      • 修饰符——区分大小写和全局匹配
      • 方括号——查找某个范围内的字符
      • 元字符——拥有特殊含义的字符
      • 量词
      • RegExp对象方法
      • 支持正则表达式的String对象的方法
      • RegExp对象属性
    • 正则表达式实例
      • 不区分大小写查找单词
      • 全文查找
      • 全文查找且不区分大小写
      • test()方法
      • exec()方法

知识回调(不懂就看这儿!)

知识专栏专栏链接
JavaScript知识专栏https://blog.csdn.net/xsl_hr/category_12024214.html?spm=1001.2014.3001.5482

有关JavaScript的相关知识可以前往JavaScript知识专栏查看复习!!

场景复现

最近在对***前端的深入学习过程***中,再次接触到了正则表达式,以前写正则表达式基本都是一些常用的、可以直接从网上的案例中copy的,但是学习正则应该能够自己根据场景写出自己手搓的表达式。因此本文以正则表达式与正则匹配为主要内容,展开详细的讲解。
在这里插入图片描述

核心干货

举例引入

  • /a{1,3}/ 不匹配 “cndy”,匹配 “candy,” 中的 “a”,“caandy,” 中的两个 “a”,匹配 “caaaaaaandy” 中的前面三个 “a”。
  • /a{2}/ 不匹配 “candy,” 中的 “a”,但是匹配 “caandy,” 中的两个 “a”,且匹配 “caaandy.” 中的前两个 “a”。
  • /a{2,}/ 不匹配 “candy” 中的 “a”,但是匹配 "caandy,"中的两个 “a”,且匹配 "caaandy"中的前两个 “a”,后两个 “a”。

关于RegExp对象

  • 正则表达式是描述字符模式的对象
  • 正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。

语法

var patt=new RegExp(pattern,modifiers);

或者更简单的方式:

var patt=/pattern/modifiers;
  • pattern(模式) 描述了表达式的模式
  • modifiers(修饰符) 用于指定全局匹配、区分大小写的匹配和多行匹配

注意:当使用构造函数创造正则对象时,需要常规的字符转义规则( 在前面加反斜杠

比如,以下是等价的:

var re = new RegExp("\\w+");
var re = /\w+/;

修饰符——区分大小写和全局匹配

在这里插入图片描述

方括号——查找某个范围内的字符

在这里插入图片描述

元字符——拥有特殊含义的字符

在这里插入图片描述

量词

在这里插入图片描述

RegExp对象方法

在这里插入图片描述

支持正则表达式的String对象的方法

在这里插入图片描述

RegExp对象属性

在这里插入图片描述

正则表达式实例

不区分大小写查找单词

var str = "lookup gungunxs";
var patt1 = /gungunxs/i;
document.write(str.match(patt1));

全文查找

var str="Is gungunxs handsome or not";
var patt1=/un/g;
document.write(str.match(patt1));

全文查找且不区分大小写

var str="Is gungunxs handsome or not";
var patt1=/u/gi;
document.write(str.match(patt1));

test()方法

var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));

当使用构造函数创造正则对象时,需要常规的字符转义规则(在前面加反斜杠 \)

var str = 'gungunxs';
var patt1 = new RegExp('\\w', 'g'); // 有转义作为正则表达式处理
var patt2 = new RegExp('\w', 'g');  // 无转义作为字符串处理
var patt3 =/\w+/g;  // 与 patt1 效果相同
document.write(patt1.test(str)) //输出 true
document.write("<br>") 
document.write(patt2.test(str)) //输出 false
document.write("<br>") 
document.write(patt3.test(str)) //输出 true

exec()方法

exec() 方法检索字符串中的指定值返回值是被找到的值如果没有发现匹配,则返回 null

下面的示例是从字符串中搜索字符 “e” :👇👇👇

var patt1=new RegExp("e");
document.write(patt1.exec("The best things in life are free"));

以上就是关于 JS 正则匹配(RegExp) 的分享,相信看完这篇文章的小伙伴们一定能运用这些方法在项目开发中。本期文章中有非常多的表达式,对于这些表达式还是要多运用和实践,达到信手拈来的效果。

下期文章将继续分享在学习中遇到的小知识点~
感兴趣的小伙伴可以订阅本专栏,方便后续了解学习~
觉得这篇文章有用的小伙伴们可以点赞➕收藏➕关注哦~

在这里插入图片描述

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

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

相关文章

Vue项目中使用fontawesome图标库

官方文档https://fontawesome.com.cn/ Font Awesome 1. 使用npm安装核心包&#xff0c;它包含了让图标工作的所有实用工具 npm i --save fortawesome/fontawesome-svg-core2. 安装vue-fontawesome组件库&#xff0c;Vue2.x和Vue3.x稍微有所不同 # Vue2.x npm i --save fort…

2023新能源汽车,吵得越凶,卖得越多

作者 | 辰纹 来源 | 洞见新研社 2023年的汽车行业很残酷&#xff0c;合资大败退&#xff0c;市场份额被自主品牌大幅渗透&#xff0c;三菱退出中国市场&#xff0c;成为真实写照。 新能源车企&#xff0c;威马领头&#xff0c;天际、自游家NIUTRON、恒驰、爱驰、雷丁等造车新…

非对称加密与对称加密的区别是什么?

在数据通信中&#xff0c;加密技术是防止数据被未授权的人访问的关键措施之一。而对称加密和非对称加密是两种最常见的加密技术&#xff0c;它们被广泛应用于数据安全领域&#xff0c;并且可以组合起来以达到更好的加密效果。本文将探讨这两种技术的区别&#xff0c;以及它们在…

【开源】基于Vue+SpringBoot的图书管理系统

目录 一、 系统介绍二、 功能模块2.1 登录注册模块2.1 图书馆模块2.2 图书类型模块2.3 图书模块2.4 图书借阅模块2.5 公告模块 三、 源码解析3.1 图书馆模块设计3.2 图书类型模块设计3.3 图书模块设计3.4 图书借阅模块设计3.5 公告模块设计 四、 免责说明 一、 系统介绍 图书管…

nginx: [error] open() “/var/run/nginx/nginx.pid“ failed (2: No such file or directory)

该错误消息通常表示 Nginx 在启动过程中无法找到指定路径的日志文件或进程号文件。 我这边是因为服务器断电&#xff0c;导致该问题 这个问题可能有几种原因和解决方法&#xff1a; 1. 确保 Nginx 配置文件中的日志路径正确。在 Nginx 配置文件中查找 error_log 和 pid 配置指…

STL:std::array 和 基本数组类型array 浅谈一二三

一、优缺点比较 在C中&#xff0c;std::array是标准库提供的数组容器&#xff0c;相比于基础数据类型的数组&#xff0c;它具有以下优点和缺点&#xff1a; 优点&#xff1a; 安全性&#xff1a;std::array提供了边界检查&#xff0c;可以避免数组越界访问的问题。 可以作为…

Gin入门指南:从零开始快速掌握Go Web框架Gin

官网:https://gin-gonic.com/ GitHub:https://github.com/gin-gonic 了解 Gin Gin 是一个使用 Go 语言开发的 Web 框架,它非常轻量级且具有高性能。Gin 提供了快速构建 Web 应用程序所需的基本功能和丰富的中间件支持。 以下是 Gin 框架的一些特点和功能: 快速而高效:…

MySQL explain执行计划详解

使用explain关键字可以模拟优化器执行SQL查询语句&#xff0c;从而知道MySQL是如何处理你的SQL语句的&#xff0c;分析你的查询语句或是表结构的性能瓶颈。 explain执行计划包含的信息 其中最重要的字段为&#xff1a;id、type、key、rows、Extra 各字段详解 id select查询…

2024年运动耳机推荐,十大运动蓝牙耳机品牌排行榜

​运动耳机对于运动爱好者来说&#xff0c;是一种提升运动体验的必备装备。它们不仅需要具备优秀的音质&#xff0c;还需要在运动中提供稳定的佩戴体验和防汗功能。市面上的运动耳机琳琅满目&#xff0c;挑选起来可能会有些困难。因此&#xff0c;今天我为大家带来几款在运动中…

北亚服务器数据恢复-服务器断电导致raid5故障的数据恢复案例

服务器数据恢复环境&#xff1a; 服务器有一组由12块硬盘组建的raid5阵列。 服务器故障&分析&#xff1a; 机房供电不稳导致服务器意外断电&#xff0c;工作人员重启服务器后发现服务器无法正常使用。 根据故障情况&#xff0c;北亚企安数据恢复工程师初步判断服务器故障原…

下载安装Android Studio教程

步骤1&#xff1a;下载Android Studio 访问Android Studio官方网站&#xff08;https://developer.android.com/studio&#xff09;&#xff0c;点击“下载Android Studio”按钮。选择适用于您操作系统的版本&#xff0c;然后下载安装程序。 步骤2&#xff1a;往下滑,打勾,点击…

互联网加竞赛 YOLOv7 目标检测网络解读

文章目录 0 前言1 yolov7的整体结构2 关键点 - backbone关键点 - head3 训练4 使用效果5 最后 0 前言 世界变化太快&#xff0c;YOLOv6还没用熟YOLOv7就来了&#xff0c;如果有同学的毕设项目想用上最新的技术&#xff0c;不妨看看学长的这篇文章&#xff0c;学长带大家简单的…

linux c语言实现断点续传

#include <stdio.h> #include <stdlib.h>#define PACKAGE_SIZE (8) // 定义包的大小为8字节 #define INPUT_FILENAME "example.txt" // 输入文件名 #define OUTPUT_FILENAME "output.txt" // 输出文件名int main() {FILE *input_fp, *output_…

亚信安慧AntDB数据库:引领数据库标准与性能规范,推动行业创新

近日&#xff0c;全国信息技术标准化技术委员会数据库标准工作组在一场重要的研讨会上召开&#xff0c;旨在交流并总结2023年上半年数据库标准编制情况。我国自主研发的AntDB数据库&#xff0c;作为国内最早的国产数据库产品之一&#xff0c;受邀参与了此次标准的研讨&#xff…

Vue和React的运行时,校验引入包的上下文差异

背景 系统使用 webpack 5 模块联邦实现微前端&#xff0c;有关如何实现跨应用的代码共享&#xff0c;可参考 如何优雅的实现跨应用的代码共享 里的第三大点。 总之&#xff0c;这里是其他应用使用了某个应用共享出来的reg文件&#xff0c;引入方式为&#xff1a; import REG …

鸿蒙列表,item组件封装传参问题?@ObjectLink 和@Observerd

鸿蒙列表渲染&#xff0c;封装内容组件&#xff0c;进行item传参会报错&#xff1f; class FoodClass {order_id: number 0food_name: string ""food_price: number 0food_count: number 0 }Entry Component struct Demo07 {State message: string Hello World…

Java Web基础详解

回顾 之前的两篇的文章已经大概的带我们了解了tomcat的一些基本的操作&#xff0c;比如从零搭建我们自己的调试环境以及官方文档构建的方式&#xff0c;接下来的话&#xff0c;我将带大家来了解一下tomcat的一些基础知识&#xff0c;这些基础知识将以问题的方式抛出&#xff0…

精选50张网络监控拓扑图,都看懂了才算入门

你们好&#xff0c;我的网工朋友。 拓扑图说白了就是一种结构图&#xff0c;方便网工们直观看到网络中各个节点之间的链接&#xff0c;还有接口之间的链接&#xff0c;方便配置和排除错误。 根据结构不同&#xff0c;“网络拓扑图”分为星型拓扑结构、环型网络拓扑结构、总线…

Python实现API接口并发测试

目录 一、引言 二、准备工作 三、并发测试的实现 1、导入必要的库 2、定义并发测试函数 3、调用并发测试函数 四、测试结果分析和优化 五、总结 一、引言 随着微服务架构和RESTful API的普及&#xff0c;API接口测试变得越来越重要。并发测试是API测试的一个重要方面&…

Hadoop集群部署

目录 1 模板虚拟机环境准备 1.1 修改网卡配置文件 扩展 1.2 修改主机名 1.3 在虚拟机中需要的基础文件包 1.4 关闭防火墙 1.5 创建Hadoop的账户及文件 2 模板虚拟机安装JDK 3 模板虚拟机安装Hadoop 4 克隆虚拟机 5 虚拟机配置主机名称映射 6 集群分发脚本 7 SSH无…