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日

相关文章

  • 整理关于Bootstrap表单的慕课笔记

    接下来我将介绍如何详细整理关于Bootstrap表单的慕课笔记。整理步骤如下: 步骤一:了解Bootstrap表单 首先需要了解Bootstrap表单的基本概念和用法。可以通过查看Bootstrap官网的文档来深入了解,也可以观看相应的慕课视频,了解Bootstrap表单的基本布局、输入控件、表单验证等相关知识。 步骤二:整理笔记 根据学习所得,对Boots…

    JavaScript 2023年6月10日
    00
  • 微信小程序动画(Animation)的实现及执行步骤

    下面是“微信小程序动画(Animation)的实现及执行步骤”的完整攻略。 一、创建动画 在小程序中,我们可以通过wx.createAnimation()方法来创建动画实例。 创建一个动画实例后,我们就可以在该实例上配置动画样式了,比如设置变换、位移、旋转等属性。 示例一:创建动画实例并设置变换属性 // 在页面的js文件中引入wx.createAnimat…

    JavaScript 2023年6月10日
    00
  • Javascript 跨域访问解决方案

    对于Javascript跨域访问解决方案,有以下几个解决办法: JSONP JSONP (JSON with padding)是一种解决跨域访问的方式,它实现跨域访问的技术手段是通过动态创建 标签,通过网络请求获取数据,然后通过回调函数(callback)的方式将数据返回到当前页面中。 示例一: 假设我们有一个需要访问的接口地址为:http://www.te…

    JavaScript 2023年6月11日
    00
  • Javascript Math PI 属性

    JavaScript中的Math.PI属性是一个常数,表示圆周率π的值。以下是关于Math.PI属性的完整攻略,含两个示例。 Math对象的PI属性 JavaScript对象中的PI属性是一个常数,表示圆周率π的值。 下面是PI属性语法: Math.PI 下面是一个PI属性的示例: console.log(Math.PI); // 输出 3.14159265…

    JavaScript 2023年5月11日
    00
  • JS 基本概念详细介绍

    JS 基本概念详细介绍 JavaScript 是一种基于对象和事件驱动的脚本语言,主要用于 Web 网页上实现交互效果、动态效果等功能。本文将从语言基础、DOM 操作、事件处理、AJAX 等几个方面介绍 JavaScript 的基本概念。 语言基础 变量 JavaScript 中的变量可以通过关键字 var 或 let、const 声明,推荐使用 let、c…

    JavaScript 2023年5月18日
    00
  • 原生JavaScript实现异步多文件上传

    下面是原生JavaScript 实现异步多文件上传的完整攻略,主要分为以下部分: 基本概念 实现步骤 示例1:上传单个文件 示例2:上传多个文件 基本概念 异步多文件上传是一种常见的Web开发需求,它可以让用户一次性上传多个文件,而不是像传统的文件上传那样一次只能上传一个文件。异步多文件上传通常使用Ajax和FormData实现。 在介绍如何实现异步多文件上…

    JavaScript 2023年5月27日
    00
  • js异常捕获方法介绍

    接下来我将为您详细讲解“js异常捕获方法介绍”的完整攻略。 一、前言 在 Javascript 的开发中,我们难免会遇到一些错误,比如语法错误、逻辑错误、运行时错误等等。这些错误会导致代码执行的中断,并且在控制台上输出相应的错误信息,从而影响使用体验。为了提高网站的稳定性和用户体验,我们需要在代码中加入异常捕获机制来处理这些错误。 二、常见的异常捕获方法 1…

    JavaScript 2023年5月28日
    00
  • 纯JS实现简单的日历

    接下来我将详细讲解如何使用纯JS实现简单的日历。 步骤一:搭建基本框架 在HTML文件中创建一个容器,用于显示日历,并将其与CSS文件链接起来: <div id="calendar"></div> <link rel="stylesheet" href="calendar.css…

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