JS正则表达式详解[收藏]

JS正则表达式详解[收藏]

正则表达式概述

正则表达式(Regular Expression)是一种文本模式,可以用于字符串的搜索、匹配和替换操作。它在计算机科学中广泛应用,涉及到文本处理、自然语言处理、网络安全等领域。

JS正则表达式对象

在JS中,可以通过正则表达式对象来实现对字符串的操作。正则表达式对象的常用属性和方法如下:

常用属性

  • source:获取正则表达式对象的文本表述。
  • global:判断正则表达式对象是否全局匹配。
  • ignoreCase:判断正则表达式对象是否忽略大小写。
  • multiline:判断正则表达式对象是否启用多行模式。

常用方法

  • test():判断字符串中是否包含与正则表达式对象匹配的内容。
  • exec():在字符串中查找匹配正则表达式的内容,返回一个包含匹配结果的数组,若未查找到则返回null。

正则表达式语法

元字符

元字符 含义
. 任意单个字符
\ 转义字符,用来表示元字符
[] 字符集,匹配其中任意字符
[^] 否定字符集,不匹配其中任意字符
() 捕获组,用来提取子字符串
| 或,匹配两侧任意一项
^ 匹配开头
$ 匹配结尾

量词

量词 含义
* 匹配前一个字符0次或多次
+ 匹配前一个字符1次或多次
? 匹配前一个字符0次或1次
{n} 匹配前一个字符n次
{n,m} 匹配前一个字符n次到m次
{n,} 匹配前一个字符n次以上

贪婪模式与非贪婪模式

贪婪模式:尽可能多地匹配字符串

非贪婪模式:尽可能少地匹配字符串

在量词后添加问号即为非贪婪模式。例如:

  • .* 贪婪匹配任意数量的字符
  • .*? 非贪婪匹配任意数量的字符

JS正则表达式示例

示例一:判断字符串中是否包含手机号码

let phoneReg = /^1[3|4|5|6|7|8|9][0-9]{9}$/;
let phoneNum = "13912345678";

if(phoneReg.test(phoneNum)){
   console.log("该字符串中包含合法的手机号码");
}else{
   console.log("该字符串中不包含合法的手机号码");
}

示例二:提取字符串中的数字

let str = "今天的天气是27℃";
let numReg = /(\d+)/;

let result = numReg.exec(str);

if(result){
   console.log("该字符串中的数字是:" + result[1]);
}else{
   console.log("该字符串中不包含数字");
}

结语

正则表达式是一种强大的文本处理工具,可以在文本处理中发挥重要作用。以上就是JS正则表达式的详细攻略,包括对象的属性和方法、正则表达式语法、以及示例说明。希望这篇攻略能够对你的正则表达式学习有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS正则表达式详解[收藏] - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 和我一起学 Three.js【初级篇】:1. 搭建 3D 场景

    ? 本篇文章共 5572 字,最近更新于 2023 年 04 月 19 日。 0. 系列文章合集 本系列第 6,7,8 章节支持在我的个人公众号「前端乱步」内付费观看,将在全平台文章「点赞数」+「评论数」 >= 500(第 6 章), 1000(第 7,8 章) 时分别解锁发布。 《和我一起学 Three.js【初级篇】:0. 总论》 ? 您当前在这里…

    JavaScript 2023年4月20日
    00
  • 怎样用Javascript实现单例模式

    使用Javascript实现单例模式需要遵循以下几个步骤: 1. 使用闭包创建私有作用域 单例模式的核心思想是保证只有一个实例存在,因此我们需要使用闭包构造函数来创建一个私有作用域,防止其他代码访问该实例。 var Singleton = (function() { // 在此处定义闭包作用域内的变量和函数 })(); 2. 在闭包内创建一次性实例 在闭包内…

    JavaScript 2023年6月10日
    00
  • javascript中的try catch异常捕获机制用法分析

    JavaScript中的try-catch异常捕获机制用法分析 什么是try-catch? 在JavaScript中,try-catch结构是一种异常捕获机制。它用于检测和处理代码中的错误,有助于提高程序的容错性,同时能够更好地调试代码。 try-catch结构由try块和捕获异常的catch块组成。try块中包含可能会出现异常的代码段,catch块可以捕获…

    JavaScript 2023年5月28日
    00
  • JS赋值、浅拷贝和深拷贝(数组和对象的深浅拷贝)实例详解

    JS赋值、浅拷贝和深拷贝 在JavaScript开发中,我们经常需要对变量进行赋值操作,同时还需要将对象或数组复制到另一个变量中。这些操作看起来很简单,但如果不理解JavaScript中变量存储的方式,就容易引出一些微妙的问题。本文将简单介绍JS赋值、浅拷贝和深拷贝。 JS赋值 JS赋值操作可以将一个变量的值赋给另一个变量。这是一种基本的操作,也是很容易看懂…

    JavaScript 2023年5月27日
    00
  • js如何判断不同系统的浏览器类型

    要判断不同系统的浏览器类型,可以使用JavaScript中的navigator对象。navigator对象提供了访问浏览器相关信息的接口,可以用来获取浏览器的名称、版本号、运行平台等信息。 下面是判断浏览器类型的基本步骤: 获取浏览器的代理字符串 JavaScript中的navigator对象上有一个userAgent属性,它是一个字符串,保存了浏览器提供的…

    JavaScript 2023年6月11日
    00
  • JavaScript节点的增删改查深入学习

    JavaScript节点的增删改查深入学习 本文将详细讲解JavaScript中节点的增删改查操作,内容包括选择节点、创建节点、修改节点和删除节点。在讲解过程中,我们将使用两个示例进行说明。 一、选择节点 在JavaScript中选择节点可以使用 document.querySelector() 和 document.querySelectorAll() 方…

    JavaScript 2023年6月10日
    00
  • JavaScript Rxjs mergeMap 的使用场合

    JavaScript中的Rxjs库是一种响应式编程库,可以用于处理异步数据流。其中的mergeMap操作符可以将一个Observable序列转换成另一个Observable序列。 mergeMap的使用场景: 与HTTP请求结合使用 假设我们需要从服务器下载一些资源,而这些资源是在另一个请求完成之后才能获得的。我们可以使用mergeMap来解决这个问题。例如…

    JavaScript 2023年6月11日
    00
  • 详解JavaScript 浮点数运算的精度问题

    详解JavaScript 浮点数运算的精度问题 JavaScript 中的浮点数运算经常会出现精度问题,这是因为计算机存储小数时采用的是二进制,而在二进制表示下并不能精确地表示所有的十进制小数。 浮点数存储机制 JavaScript 中的浮点数采用 IEEE 754 标准,用 64 位二进制数表示,其中第 0 位表示符号位,第 1 至 11 位表示指数,第 …

    JavaScript 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部