javascript 正则表达式用法 小结

yizhihongxing

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常见手写题超全汇总

    JavaScript常见手写题超全汇总 1. 前言 在面试以及实际工作中,常常需要手写一些核心的JavaScript代码。这些手写题目可能比较简单、或者非常复杂,但是它们都对JavaScript基础功夫有一个更加深刻的理解。 在本篇文章中,我们将会汇总一些常见的JavaScript手写题,包括但不限于:数组去重、深拷贝、Promise实现、函数柯里化等等。 …

    JavaScript 2023年5月18日
    00
  • 解决layui的form里的元素进行动态生成,验证失效的问题

    针对“解决layui的form里的元素进行动态生成,验证失效的问题”,我们可以采用以下攻略: 动态生成表单元素 在动态生成表单元素的过程中,需要为每一个生成的表单元素添加 layui 的 form 类属性,示例如下: <input type=”text” name=”username” lay-verify=”required” class=”layu…

    JavaScript 2023年6月10日
    00
  • JS 中Proxy代理和 Reflect反射方法示例详解

    JS 中Proxy代理和 Reflect反射方法示例详解 什么是 Proxy 代理 在 ES6 中,我们可以使用 Proxy 对象来创建代理对象。代理对象可以拦截并改变底层 JavaScript 引擎对原始对象的默认行为,从而实现自定义行为。 创建一个代理对象的基本语法如下: let proxy = new Proxy(target, handler) 其中…

    JavaScript 2023年6月10日
    00
  • Javascript 类与静态类的实现(续)

    关于“Javascript 类与静态类的实现(续)”,我会做一个完整的攻略,下面是详细说明: 1. 引言 Javascript 类与静态类的实现是一个非常重要的知识点,对于初学者来说也会有一定的挑战。这篇攻略是一篇续文,紧接着之前的“Javascript 类与静态类实现”的文章,将更深入地探讨这个主题。 2. Javascript 类的实现 Javascri…

    JavaScript 2023年5月28日
    00
  • JavaScript console对象与控制台使用示例详解

    JavaScript console对象与控制台使用示例详解 什么是控制台 控制台是浏览器提供的一个交互式窗口,可以打印JavaScript代码的错误和调试信息。我们可以通过在控制台中输入代码和命令来调试JavaScript代码。 console对象的作用 console对象是JavaScript提供的一个可以在控制台中输出信息的工具,它提供了很多方法,可以…

    JavaScript 2023年5月28日
    00
  • JS 自动安装exe程序

    JS 自动安装 exe 程序是一种自动安装程序的方法,主要用于后台自动安装某些特定的软件或工具。这种方法主要依赖于 JavaScript 的特性,在浏览器中实现自动下载和安装 exe 程序。 下面是 JS 自动安装 exe 程序的完整攻略: 安装准备 确认要安装的 exe 程序是否可以通过 JS 自动安装; 准备一个可以直接下载 exe 程序的链接(可以是百…

    JavaScript 2023年5月27日
    00
  • JS 拦截全局ajax请求实例解析

    让我来给大家详细讲解一下“JS 拦截全局ajax请求实例解析”的完整攻略。 什么是全局ajax请求 全局ajax请求指在整个页面中,所有发起ajax请求的位置都被拦截并进行处理。这就需要对ajax进行拦截和处理控制,这样可以更好地控制页面数据请求。 为什么要拦截全局ajax请求 拦截全局ajax请求可以实现以下目的: 统一处理数据请求,便于管理和维护。 能够…

    JavaScript 2023年6月11日
    00
  • javascript模拟实现ajax加载框实例

    以下是使用 JavaScript 模拟实现 ajax 加载框的完整攻略: 实现思路 创建一个遮罩层,并设置其 z-index 值为一个比较大的数字,遮罩整个页面; 在遮罩层中添加一个加载框元素,并使用 CSS 进行设置和样式定制; 使用 JavaScript 编写一个可以请求服务器数据的对象,以及在请求过程中显示遮罩层及加载框的方法; 在处理完请求后,隐藏遮…

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