当前位置: 首页 > article >正文

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) 的分享,相信看完这篇文章的小伙伴们一定能运用这些方法在项目开发中。本期文章中有非常多的表达式,对于这些表达式还是要多运用和实践,达到信手拈来的效果。

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

在这里插入图片描述


http://www.kler.cn/news/10645.html

相关文章:

  • UniverSeg:通用医学图像分割模型来了!
  • Python3 os.symlink() 方法、Python 质数判断
  • 常见面试题之MQ篇
  • 【 SpringBoot 配置⽂件 】
  • 在window上安装python
  • 迈入Java,一文告诉你学习Java的原因
  • 二、Java 并发编程(5)
  • 【算法】【数组与矩阵模块】求数组中从未出现的最小正整数(含拓展思路)
  • FFMPEG: [ API ] >打开/关闭一个输入文件
  • Shiro概述
  • 9.1 相关分析
  • 定点乘法器优化---华为杯
  • Python求矩阵的特征值和广义特征值
  • 认识C++《共、枚、指1》
  • 什么是雪花算法?啥原理?
  • GORM 基础 -- Associations
  • 这7种常见的JavaScript错误,你知道吗?
  • 规模化敏捷框架:Scrum@Scale
  • 他98年的,我真的玩不过他...
  • 请我为详细讲解C11的新增原子操作
  • Oracle-主备切换问题(BUG-31747989)
  • 论文阅读 - ANEMONE: Graph Anomaly Detection with Multi-Scale Contrastive Learning
  • 大数据 | 实验一:大数据系统基本实验 | MapReduce 初级编程
  • JAVA经典之递归测试01-----JAVA入门基础教程
  • #详细介绍!!! 造成死锁的原因以及解决方案!
  • L2-042 老板的作息表(极短代码)
  • JavaScript【六】JavaScript中的字符串(String)
  • python+vue 在线考试系统的设计与实现
  • Quartz框架详解分析
  • 技术创业者必读:从验证想法到技术产品商业化的全方位解析