javascript 正则表达式用法 小结

JavaScript 正则表达式用法小结

什么是正则表达式

正则表达式是一种用来匹配字符串的模式。在 JavaScript 中,正则表达式可以用来处理字符串的各种操作,比如查找、替换和提取等等。

正则表达式的基本语法

正则表达式由若干个字符和元字符组成,其中元字符用来指定匹配规则。下面是一些常见的元字符和它们的含义:

元字符 含义
. 匹配任意单个字符。
^ 匹配字符串的开头。
$ 匹配字符串的结尾。
* 匹配前面的字符 0 次或多次。
+ 匹配前面的字符 1 次或多次。
? 匹配前面的字符 0 次或 1 次。
| 或运算符,匹配多个备选项中的一个。
[ ] 匹配中括号中的任意一个字符。
[-] 匹配中括号中指定的字符范围内的一个字符。
[^ ] 匹配除了中括号中的任意一个字符。
( ) 分组,用来控制匹配顺序和重复。
(?: ) 非捕获分组,用于不需要进行记录的分组。
(?= ) 正向前查找,用于匹配前面满足某种条件的字符串。
(?! ) 负向前查找,用于匹配前面不满足某种条件的字符串。
(?<= ) 正向后查找,用于匹配后面满足某种条件的字符串。
(?<! ) 负向后查找,用于匹配后面不满足某种条件的字符串。

在 JavaScript 中使用正则表达式

在 JavaScript 中,可以使用 RegExp 对象来表示正则表达式。也可以直接在字符串中使用正则表达式,这种方式被称为字面量表示法。下面是一个使用 RegExp 对象匹配字符串的示例:

const re = new RegExp(/hello/i);
const str = 'Hello World!';
console.log(re.test(str)); // true

上面的代码中,首先创建了一个 RegExp 对象,其中 /hello/i 表示匹配字符串中的 "hello",并且不区分大小写。然后使用 test() 方法来测试字符串是否符合正则表达式的匹配规则。

同样的代码也可以使用字面量表示法来表示正则表达式:

const re = /hello/i;
const str = 'Hello World!';
console.log(re.test(str)); // true

在这个例子中,正则表达式被包含在斜杠 / / 中,而 i 表示不区分大小写。

正则表达式的模式匹配案例

判断一个字符串是否是邮政编码

function isPostalCode(str) {
  const re = /^[0-9]{6}$/;
  return re.test(str);
}

console.log(isPostalCode('123456')); // true
console.log(isPostalCode('12345'));  // false
console.log(isPostalCode('ABCDEF')); // false

上面的代码中,使用了 ^$ 元字符来限制邮政编码必须匹配整个字符串。其中 /^[0-9]{6}$/ 表示匹配包含 6 个数字的字符串。

统计一个字符串中所有数字的个数

function countDigits(str) {
  const re = /\d+/g;
  return str.match(re).length;
}

console.log(countDigits('123abc456def789')); // 9
console.log(countDigits('hello world'));     // 0

上面的代码中,使用了 + 元字符匹配一个或多个数字。其中 /\d+/g 表示全局匹配任意多个数字。然后使用 match() 方法返回所有匹配的结果,并求出所返回的结果数组的长度。

小结

本篇文章介绍了 JavaScript 中正则表达式的基础用法和常见元字符的含义。同时,也通过两个案例展示了正则表达式的应用方法。从简单的邮编验证到统计字符串中的数字,正则表达式可以让我们在字符串处理中更加便捷高效。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript 正则表达式用法 小结 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • 深入理解Javascript中this的作用域

    下面是针对“深入理解Javascript中this的作用域”的完整攻略: 1. this的基本概念 在 JavaScript 中,this 代表函数运行时的上下文环境,指向的是当前函数执行的对象。也就是说,this 的值是根据函数的调用方式而定的,有以下几种: 函数作为独立的函数调用时,this 指向全局对象,也就是 window(浏览器环境)或 globa…

    JavaScript 2023年6月10日
    00
  • 基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)

    下面我来详细讲解一下基于JavaScript实现根据手机定位获取当前具体位置的完整攻略。 准备工作 获取用户地理位置授权。在JavaScript中,我们可以通过navigator.geolocation.getCurrentPosition()方法获取用户的当前位置信息。但是在获取位置信息之前,需要向用户请求获取他们的位置授权。用于请求授权的代码如下: “…

    JavaScript 2023年6月11日
    00
  • javascript 中null和undefined区分和比较

    JavaScript中的null和undefined是两个特殊的值,表示值不存在或未定义。尽管它们看起来很相似,但在某些情况下有一些微小的区别。 null和undefined的差异 null是一个表示空值或无值的对象,它是一个表示未定义对象的类型,因此typeof null返回”object”。 undefined是一个原始值,表示一个未初始化或不存在的值,…

    JavaScript 2023年6月10日
    00
  • Vue element商品列表的增删改功能实现

    下面是“Vue element商品列表的增删改功能实现”的完整攻略。 1. 前置知识 在实现 Vue element 商品列表增删改功能前,需要你掌握以下基础知识: Vue.js 基础知识,比如 Vue.js 的双向数据绑定、组件通信、生命周期等。 Element-UI 基础知识,比如 Element-UI 的组件使用、表单验证等。 RESTful API …

    JavaScript 2023年6月10日
    00
  • JS重要知识点小结

    JS重要知识点小结 1. 变量与数据类型 1.1 变量声明与赋值 在JS中,我们声明一个变量需要使用var关键字,赋值则使用=号,如下所示: var num = 5; //声明并赋值一个数值型变量 var str = ‘hello’; //声明并赋值一个字符串型变量 var arr = [1,2,3]; //声明并赋值一个数组型变量 1.2 数据类型 在JS…

    JavaScript 2023年6月10日
    00
  • 实例讲解使用原生JavaScript处理AJAX请求的方法

    处理AJAX请求是现代Web开发中非常重要的一部分,可以轻松地从服务器加载数据并进行无需刷新页面的动态更新。原生JavaScript提供了一些内置的方法,可用于处理AJAX请求,并通过JavaScript代码与其他服务端技术交互。 以下是使用原生JavaScript处理AJAX请求的方法的完整攻略: 步骤一:创建XMLHttpRequest对象 XMLHtt…

    JavaScript 2023年6月11日
    00
  • JS实现可以用键盘方向键控制的动画

    下面是JS实现可以用键盘方向键控制的动画的完整攻略。 1. 监听键盘事件 为了实现键盘控制,我们需要在页面中监听键盘事件。我们可以通过 window.addEventListener() 方法来添加监听器,如下所示: window.addEventListener(‘keydown’, function(event) { // 处理键盘事件 }); 该代码将…

    JavaScript 2023年6月11日
    00
  • 深入理解JavaScript中的尾调用(Tail Call)

    深入理解JavaScript中的尾调用(Tail Call) 在JavaScript中,尾调用(Tail Call)是一个非常重要的概念。它解决了递归调用过多时可能发生的堆栈溢出问题,同时还可以提高代码的性能。本文将详细介绍什么是尾调用,以及如何正确地使用它。 尾调用的定义 尾调用是指函数最后执行的操作是一个返回语句,这个返回值可以直接返回给函数调用者。这个…

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