Javascript里的两种使用正则的方法

当我们需要在JavaScript中进行字符串匹配、替换或者提取操作时,常常需要用到正则表达式。在JavaScript中,我们可以使用两种不同的方法来使用正则表达式。

方法一:RegExp对象的方法

RegExp对象是JavaScript内置的正则表达式对象,我们可以使用它的方法来处理字符串。

1. 创建RegExp对象

我们可以使用RegExp对象的构造函数来创建一个正则表达式对象:

let reg = new RegExp('abc');

也可以使用字面量表示法来创建一样的正则表达式对象:

let reg = /abc/;

这两种写法是等价的。其中,'abc'表示我们要查找的模式。

2. RegExp对象的方法

RegExp对象提供的方法可以用来在字符串中查找、替换和提取符合指定模式的子字符串。

其中,常用的方法有:

  • test(str)

该方法用来检查字符串中是否存在指定模式的匹配。如果存在,返回true;否则返回false。

示例:

javascript
let reg = /abc/;
let str = 'abcde';
console.log(reg.test(str)); // true

  • exec(str)

该方法用来在字符串中查找指定模式的匹配,并返回一个数组。数组中存放的是匹配到的子串以及捕获分组的内容。

示例:

javascript
let reg = /ab(c)/;
let str = 'abcde';
let result = reg.exec(str);
console.log(result); // ["abc", "c", index: 0, input: "abcde", groups: undefined]
console.log(result[0]); // "abc"
console.log(result[1]); // "c"
console.log(result.index); // 0
console.log(result.input); // "abcde"

  • replace(regexp|substr, newSubStr|function)

该方法用来替换字符串中符合指定模式的子串。

示例:

javascript
let reg = /abc/;
let str = 'abcdefg';
let newstr = str.replace(reg, '123');
console.log(newstr); // "123defg"

方法二:字符串对象的方法

在字符串对象中,也提供了一些方法来调用正则表达式处理字符串。

1. 字符串的方法

常用的字符串方法有:

  • search(regexp)

该方法用来在字符串中查找指定模式的匹配。如果存在,就返回匹配的起始位置;否则返回-1。

示例:

javascript
let str = 'abcde';
let index = str.search('abc');
console.log(index); // 0

  • match(regexp)

该方法用来在字符串中查找并返回指定模式的匹配结果。返回的结果是一个数组,数组中第一个元素是匹配到的子串,后面的元素是捕获分组的内容。

示例:

javascript
let str = 'abcde';
let result = str.match(/ab(c)/);
console.log(result); // ["abc", "c", index: 0, input: "abcde", groups: undefined]
console.log(result[0]); // "abc"
console.log(result[1]); // "c"
console.log(result.index); // 0
console.log(result.input); // "abcde"

  • replace(regexp|substr, newSubStr|function)

该方法用来替换字符串中符合指定模式的子串。

示例:

javascript
let str = 'abcdefg';
let newstr = str.replace(/abc/, '123');
console.log(newstr); // "123defg"

2. 字符串对象与正则表达式结合使用

有些时候,我们需要利用字符串对象和正则表达式相互配合,来完成一些特殊的操作。

  • split(regexp|substr, limit)

该方法用来将一个字符串分割成多个子串,并将分割后的子串存入一个数组中,返回数组。

示例:

javascript
let str = '123,456,789';
let arr = str.split(',');
console.log(arr); // ["123", "456", "789"]

如果传入了正则表达式,也可以根据正则表达式进行分割:

javascript
let str = '1-2-3 , 4-5-6';
let arr = str.split(/-|\s*,\s*/);
console.log(arr); // ["1", "2", "3", "4", "5", "6"]

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Javascript里的两种使用正则的方法 - Python技术站

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

相关文章

  • JS自定义函数实现时间戳转换成date的方法示例

    下面是关于“JS自定义函数实现时间戳转换成date的方法示例”的完整攻略: 1. 理解时间戳和Date对象 在开始编写时间戳转换成date的函数之前,我们需要先了解什么是时间戳和Date对象。时间戳是指从1970年1月1日00:00:00(UTC/GMT的午夜)开始所经过的秒数,它是一串数字,通常是10位或13位;而Date对象是JavaScript的日期对…

    JavaScript 2023年5月27日
    00
  • JS封装cookie操作函数实例(设置、读取、删除)

    下面我来为你详细讲解“JS封装cookie操作函数实例(设置、读取、删除)”的完整攻略。 什么是cookie cookie 是浏览器用于存储用户信息的一种机制。当我们需要在应用程序之间共享数据时,可以使用 cookie 来存储数据。它是一种名为键-值对的数据结构,可以存储在浏览器中的本地电脑上,并在将来的会话之间使用。 如何进行cookie操作 我们可以使用…

    JavaScript 2023年6月11日
    00
  • JS.GetAllChild(element,deep,condition)使用介绍

    JS.GetAllChild(element,deep,condition)使用介绍 JS.GetAllChild(element,deep,condition) 是一个用来获取指定元素所有符合条件的子元素的函数。下面将详细介绍该函数的使用方式及注意事项。 语法 JS.GetAllChild(element, deep, condition); 参数: el…

    JavaScript 2023年6月10日
    00
  • JavaScript创建一个欢迎cookie弹出窗实现代码

    下面是JavaScript创建一个欢迎cookie弹出窗实现的代码攻略。 1. 设计思路 首先,我们需要确认弹出窗的内容、样式、位置等,然后创建一个模态框来实现弹出窗。考虑到欢迎弹出窗的出现与用户的cookie状态有关,我们还需要使用cookie以及相关的JS库来实现。 具体的设计思路如下: 确认欢迎弹出窗的内容、样式和位置 判断用户的cookie状态,若未…

    JavaScript 2023年6月11日
    00
  • springboot项目如何防止XSS攻击

    在SpringBoot项目中防止XSS攻击可以采取以下措施: 使用HTML转义库 在应用中使用HTML转义库比如jsoup、owasp-esapi、htmlentities等,可以过滤掉HTML标签并且转义掉敏感字符,这样可以有效避免XSS攻击。 例如,在Spring Boot项目中,我们可以使用前面提到的jsoup库来进行HTML转义: String sa…

    JavaScript 2023年6月11日
    00
  • JavaScript变量声明详解

    JavaScript变量声明详解 变量 在JavaScript中,一个变量是一个存储数据值的容器。在使用变量之前,需要给变量命名并声明它。声明变量是通过使用var、let或const关键字来完成的。 var声明 var是最常用的变量声明关键字,它声明的变量在函数作用域中。 function foo() { var x = 1; if (true) { var…

    JavaScript 2023年5月28日
    00
  • JS兼容浏览器的导出Excel(CSV)文件的方法

    作为一个网站的作者,要实现JS兼容浏览器的导出Excel(CSV)文件功能,可以采用以下步骤: 1. 准备数据 首先,需要准备好要导出的数据,以数组的形式存储。并根据具体需要从数据中提取出需要导出的字段,组成表头。 const data = [ { name: ‘张三’, age: 18, gender: ‘男’, address: ‘北京市’ }, { n…

    JavaScript 2023年5月27日
    00
  • weui框架实现上传、预览和删除图片功能代码

    下面我将详细讲解使用weui框架实现上传、预览和删除图片功能的完整攻略。 1. 准备工作 首先需要引入weui框架和jQuery库,可以使用以下代码: <link rel="stylesheet" href="https://res.wx.qq.com/open/libs/weui/2.0.1/weui.min.css&q…

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