JavaScript正则表达式RegExp详解:test、match与exec方法对比
本文详细解析JavaScript中正则表达式的构造方式及gi、i、m等标记含义,重点对比test、match和exec三个核心方法的执行逻辑与返回值差异。通过代码示例说明test返回布尔值、match返回匹配数组、exec支持循环获取匹配详情及lastIndex属性的工作机制,帮助开发者根据需求选择合适的方法。
正则表达式基础语法与标记说明
正则表达式的基本语法结构为 /pattern/flags,即“模式/标记”。此外,还可以通过构造函数创建正则对象,语法为 new RegExp("pattern"[, "flags"])。其中 pattern 代表正则表达式的文本内容,flags 为可选参数,用于指定匹配行为。常见的 flags 包括:g 表示全局匹配(global match),i 表示忽略大小写(ignore case),gi 则同时启用全局匹配和忽略大小写。
/ab+c/gi
正则表达式中 /i、/g、/ig、/gi 和 /m 标记的区别与具体含义
/i 表示忽略大小写;/g 表示查找全文中所有出现的匹配字符;/m 表示进行多行查找;/gi 表示全文查找且忽略大小写;/ig 同样表示全文查找且忽略大小写。
test、match与exec方法对比
test、match、exec 方法的区别
在 JavaScript 开发中,正则表达式的使用非常频繁,其中 Match、Test 和 Exec 是三个最常用的方法。下面通过具体的代码实例来区分它们各自的功能与返回值差异。
Match方法示例
Match 方法示例
代码如下:
var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var regexp = /[A-E]/gi;
var rs = str.match(regexp);
//rs= Array('A', 'B', 'C', 'D', 'E', 'a', 'b', 'c', 'd', 'e');Test方法示例
Test 方法示例
代码如下:
var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var regexp = /[A-E]/gi;
var rs = regexp.test(str);
// rs = true; booleanExec方法示例
Exec 方法示例
代码如下:
var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var regexp = /[A-E]/gi;
var rs;
while ((rs = regexp.exec(str)) != null)
{
document.write(rs);
document.write(regexp.lastIndex);
document.write("<br />");
}JavaScript怎么准确判断数据类型:typeof、instanceof与Object.prototype.toString
2026-11-05 17:09:21
JS中将数组和对象混合组装为JSON字符串
2026-11-05 16:41:42
JS运算符优先级与结合性的区别是什么?
2026-11-05 13:22:02
JS Map怎么只遍历Key或Value
2026-11-05 13:00:36
D3.js 与 ECharts 选型对比:灵活性 vs 开发效率
2026-11-05 09:45:01
