javascript学习笔记(十二) RegExp类型介绍

下面是关于“javascript学习笔记(十二) RegExp类型介绍”的完整攻略。

RegExp类型介绍

RegExp类型是JS语言中表示正则表达式的类型。正则表达式是一种用于模式匹配的工具,可以用来匹配字符串中的文本模式,在字符串的搜索、替换、切割等操作中特别方便。

创建RegExp实例

创建RegExp实例的两种方式:

  1. 字面量方式

javascript
var regExp = /test/i;

这里的 / 是一个分隔符,它表示接下来的是正则表达式的内容,i 是一个修饰符,表示匹配时忽略大小写。

  1. 构造函数方式

javascript
var regExp = new RegExp("test", "i");

这里的第一个参数是正则表达式的内容,第二个参数是修饰符。注意,这里的正则表达式字符串中需要使用双反斜杠(\)对一些特殊字符进行转义,例如 \\d 表示匹配数字,而 \d 会直接被解释为字母 "d"。

正则表达式的方法

RegExp类型提供了一系列用于操作正则表达式的方法,这里只列举一些常用的方法:

  • test():测试字符串是否匹配正则表达式。
  • exec():函数用来检索字符串中与正则表达式匹配的值。

其中,test() 方法返回一个布尔值,表示是否匹配成功;exec() 方法返回一个数组,第一个元素是匹配到的结果,后面的元素是分组捕获的结果。

举个例子,下面将使用正则表达式匹配一个字符串:

var str = "Hello, World!";
var regExp = /o/g;
console.log(regExp.test(str)); // true
console.log(regExp.exec(str)); // ["o", index: 4, input: "Hello, World!", groups: undefined]
console.log(regExp.exec(str)); // ["o", index: 7, input: "Hello, World!", groups: undefined]

这里匹配的正则表达式是 /o/g,它表示匹配所有的字母 "o"。第一次执行exec()方法时,返回的是字符串中的第一个字母 "o",第二个执行时,返回的是字符串中的第二个字母 "o"。

在使用exec函数时,我们可以通过分组来捕获匹配到的值。例如:

var str = "Hello, 123!";
var regExp = /^Hello,\s(\d+)$/ig;
var res = regExp.exec(str);
if (res) {
  console.log(res[0]); // 匹配到的整个字符串 "Hello, 123!"
  console.log(res[1]); // 分组中捕获的数字 123
}

这里的正则表达式是 /^Hello,\s(\d+)$/ig,表示匹配以 "Hello," 开头,然后是一个或多个空格,最后是一个或多个数字,全局匹配,忽略大小写。捕获的内容是正则表达式中的一个分组 (\d+)

正则表达式的规则

正则表达式中包含很多特殊字符和规则,下面列举一些常用的:

  • 字符类

[abc] 表示匹配单个字符 a、b 或 c。

[^abc] 表示匹配单个字符,但不能是 a、b 或 c。

  • 字符范围

[a-z] 表示匹配单个小写字母。

[A-Z] 表示匹配单个大写字母。

[0-9] 表示匹配单个数字。

  • 数量限定符

* 表示匹配前面的模式零次或多次。

+ 表示匹配前面的模式一次或多次。

? 表示匹配前面的模式零次或一次。

{n} 表示匹配前面的模式恰好 n 次。

{n,} 表示匹配前面的模式至少 n 次。

{n,m} 表示匹配前面的模式至少 n 次,但不超过 m 次。

  • 边界匹配

^ 表示匹配字符串的开头。

$ 表示匹配字符串的结尾。

\b 表示匹配一个单词边界。

  • 特殊字符

. 表示匹配除换行符以外的任意一个字符。

\d 表示匹配数字。

\D 表示匹配非数字。

\s 表示匹配任意空白字符,包括空格、制表符、换行符等。

\S 表示匹配非空白字符。

\w 表示匹配单词字符,包括字母、数字、下划线。

\W 表示匹配非单词字符。

使用正则表达式的示例

  1. 匹配邮政编码

邮政编码是6位数字,可以使用正则表达式进行匹配:

javascript
var postCode = "610000";
var regExp = /^\d{6}$/;
console.log(regExp.test(postCode)); // true

这里的正则表达式是 /^\d{6}$/,表示匹配6位数字,开头和结尾不能有其他字符。

  1. 匹配邮箱地址

邮箱地址包括用户名和域名两部分,它们之间用@符号隔开,可以使用正则表达式进行匹配:

javascript
var email = "test@example.com";
var regExp = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/;
console.log(regExp.test(email)); // true

这里的正则表达式是 /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/,表示匹配符合邮箱地址格式的字符串,包括用户名和域名两部分,其中用户名部分可以包括字母、数字、下划线、点、加号、减号和百分号,域名部分可以包括字母、数字、点和减号,后缀部分最少需要2个字母。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript学习笔记(十二) RegExp类型介绍 - Python技术站

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

相关文章

  • 不依赖Flash和任何JS库实现文本复制与剪切附源码下载

    实现文本复制和剪切可以简单地使用 JavaScript 的 execCommand() 方法,但该方法在一些最新的浏览器中已被废弃或不再可用。因此,我们需要一种新的方法来实现这个功能,而且不仅能够解决浏览器兼容性问题,还要避免依赖第三方库。下面是一个完整的攻略。 步骤 1:创建 HTML 页面 创建一个 HTML 页面,并在页面中添加一个文本输入框和复制和剪…

    JavaScript 2023年6月11日
    00
  • JavaScript 中的六种循环方法

    让我们来详细讲解 JavaScript 中的六种循环方法。 1. for 循环 for 循环是 JavaScript 中最常用的循环方法之一。它可以用来遍历数组、对象等。for 循环的语法格式如下: for (let i = 0; i < array.length; i++) { console.log(array[i]); } 上面的代码中,i 是循…

    JavaScript 2023年5月27日
    00
  • JQUERY操作JSON实例代码

    下面是关于“JQUERY操作JSON实例代码”的完整攻略。 什么是JSON JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,在前端开发中经常用来进行数据传输和交换。JSON格式的数据由于具有轻巧、易读、易解析的优点,被越来越广泛地用于Web前端的数据交互和传输。 JSON的语法 JSON数据用于数据交换,它是一…

    JavaScript 2023年5月27日
    00
  • Javascript 多浏览器兼容性问题及解决方案

    Javascript 多浏览器兼容性问题及解决方案 Javascript 是一种前端开发必不可少的技术,但由于不同浏览器对Javascript的解析有所不同,会导致代码在不同浏览器上出现兼容性问题。本篇文章将详细介绍Javascript多浏览器兼容性问题以及解决方案。 兼容性问题 1. 兼容性问题分类 Javascript 兼容性问题主要分为以下几类: 对象…

    JavaScript 2023年6月10日
    00
  • JS实现给对象动态添加属性的方法

    给对象动态添加属性的方法在JS中有多种实现方式,下面详细讲解其中较为常见的两种。 使用点操作符或方括号操作符 我们可以使用点操作符或方括号操作符在运行时动态地为对象添加属性。使用点操作符时,可以像如下代码一样,将属性名称作为对象的属性名: const obj = {}; obj.name = ‘张三’; console.log(obj.name); // 输…

    JavaScript 2023年5月27日
    00
  • js时间控件只显示年月

    针对这个问题,以下是我给出的完整攻略。 1. 使用现成的时间控件库 使用现成的时间控件库是最为简单的方法之一,常用的时间控件库有datepicker.js和laydate.js。 下面是 laydate.js 的简单例子,使用时只需要引入laydate.js和laydate.css即可。 <!DOCTYPE html> <html> …

    JavaScript 2023年5月27日
    00
  • Javascript 获取滚动条位置等信息的函数

    JavaScript 获取滚动条位置等信息的函数可以帮助我们在开发网页时,实现各种复杂的滚动效果。下面,我将为大家详细讲解相关函数的使用方法和示例演示。 获取滚动条位置的函数:scrollY scrollY 函数是用于获取文档的垂直滚动距离的函数。其用法如下: var scrollPos = window.scrollY; 其中,window 是指当前窗口,…

    JavaScript 2023年6月11日
    00
  • JavaScript 实现HTML DOM增删改查操作的常见方法详解

    JavaScript 实现HTML DOM增删改查操作的常见方法详解 1. DOM简介 DOM全称“Document Object Model”,中文翻译为文档对象模型,是一种对文档结构化的方式表达,即将文档中的每一个元素都抽象成为一个对象,便于JavaScript等脚本语言进行操作。 DOM是Web页面的编程接口,可以使用JavaScript、VBScri…

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