`

正则表达式中 test、exec、match 方法区别

 
阅读更多

正则表达式中 test、exec、match 方法区别(转载)

test


test 返回 Boolean,查找对应的字符串中是否存在模式。
var str = "1a1b1c";
var reg = new RegExp("1.", "");
alert(reg.test(str)); // true


exec


exec 查找并返回当前的匹配结果,并以数组的形式返回。
var str = "1a1b1c";
var reg = new RegExp("1.", "");
var arr = reg.exec(str);
如果不存在模式,则 arr 为 null,否则 arr 总是一个长度为 1 的数组,其值就是当前匹配项。arr 还有三个属性:index 当前匹配项的位置;lastIndex 当前匹配项结束的位置(index + 当前匹配项的长度);input 如上示例中 input 就是 str。


exec 方法受参数 g 的影响。若指定了 g,则下次调用 exec 时,会从上个匹配的 lastIndex 开始查找。
var str = "1a1b1c";
var reg = new RegExp("1.", "");
alert(reg.exec(str)[0]);
alert(reg.exec(str)[0]);
上述两个输出都是 1a。现在再看看指定参数 g:
var str = "1a1b1c";
var reg = new RegExp("1.", "g");
alert(reg.exec(str)[0]);
alert(reg.exec(str)[0]);
上述第一个输出 1a,第二个输出 1b。


match


match 是 String 对象的一个方法。
var str = "1a1b1c";
var reg = new RegExp("1.", "");
alert(str.match(reg));
match 这个方法有点像 exec,但:exec 是 RegExp 对象的方法;math 是 String 对象的方法。二者还有一个不同点,就是对参数 g 的解释。
如果指定了参数 g,那么 match 一次返回所有的结果。
var str = "1a1b1c";
var reg = new RegExp("1.", "g");
alert(str.match(reg));
//alert(str.match(reg)); // 此句同上句的结果是一样的
此结果为一个数组,有三个元素,分别是:1a、1b、1c。

分享到:
评论

相关推荐

    正则表达式.rar || 正则表达式.rar

    2. JavaScript:JavaScript的全局对象`RegExp`提供了正则表达式功能,`test()`、`exec()`、`match()`、`replace()`等方法广泛应用于前端开发。 3. Java:Java中的`java.util.regex`包提供正则表达式支持,`Pattern`...

    各类正则表达式详细手册

    JavaScript还提供了test()、exec()、match()、replace()和split()等方法来操作正则表达式。 3. C#字符串和正则表达式: C#的System.Text.RegularExpressions命名空间提供了Regex类,用于处理正则表达式。创建正则...

    头歌教学实践平台 Web前端开发基础 JavaScript学习手册十:正则表达式

    3. `match()`:返回字符串中所有匹配正则表达式的子串组成的数组。 4. `search()`:返回匹配项的索引,找不到则返回-1。 5. `replace()`:用新字符串替换匹配项。 6. `split()`:根据正则表达式分割字符串。 ...

    HTML+JS 编写的正则表达式测试工具

    在 JavaScript 中,`RegExp` 对象用于创建正则表达式,`exec()` 或 `match()` 方法用于执行匹配操作。 2. **JavaScript 正则相关方法**: - `test()`: 检查字符串是否包含符合正则表达式模式的文本,返回布尔值。 ...

    javascript正则表达式详解

    JavaScript提供了正则表达式的API,包括test、exec、search、match、replace等,每个都有不同的功能和用法。例如,exec方法可以循环匹配字符串,而test方法可以检查字符串是否符合正则表达式。修饰符g、i和m分别用于...

    js正则表达式中test,exec,match方法的区别说明

    在JavaScript中,正则表达式提供了多种方法来处理字符串中的模式匹配,包括`test`、`exec`和`match`。这些方法各自有着不同的特点和使用场景,下面将详细阐述它们的区别。 1. `test()`方法: `test()`方法用于检测...

    各种正则表达式教程集合

    在这个“各种正则表达式教程集合”中,我们可能会发现不同编程语言如JavaScript(js)和Visual Basic(VB)下的正则表达式用法。下面将详细探讨正则表达式的基础概念、常用元字符、修饰符以及在JavaScript和VB中的...

    正则表达式精灵绿色板

    7. **正则对象与方法**:在JavaScript中,正则表达式可以作为对象创建,如`var regex = /pattern/flags`。对象提供了`test()`和`exec()`方法来匹配字符串。`test()`返回布尔值,`exec()`返回匹配结果的数组。 8. **...

    正则表达式快速掌握教程.chm

    - JavaScript中使用/test/、/exec/等方法处理正则表达式。 - HTML5引入了正则表达式验证,如在表单输入元素中使用pattern属性。 通过《正则表达式30分钟入门教程》的学习,你将能够熟练运用正则表达式进行数据...

    JS常用正则表达式及其使用方法

    JavaScript中的正则表达式是进行字符串处理的重要工具,它们用于匹配、查找、替换或验证文本。在JS中,正则表达式可以静态定义,也可以动态创建。以下是一些常用的正则表达式及其使用方法。 1. **非负整数(正整数+...

    javascript正则表达式学习笔记

    3. `match()`:在字符串中搜索匹配正则表达式的子串,返回一个数组。 4. `search()`:返回字符串中匹配正则表达式的第一项的索引,没有找到返回-1。 5. `replace()`:替换与正则表达式匹配的子串。 6. `split()`:...

    正则表达式帮助文档api

    10. **API方法**:在编程语言中,正则表达式的API通常包括`compile`(编译正则表达式)、`test`(检查是否匹配)、`match`(获取匹配结果)、`exec`(执行匹配并返回结果数组)、`replace`(替换匹配的子串)和`...

    精通 JS正则表达式

    - `exec()` 方法:用于查找字符串中与正则表达式模式相匹配的第一个实例,并返回一个包含匹配结果的数组。 - `compile()` 方法:用于重新编译正则表达式的模式,以便更快地执行。 此外,正则表达式对象还有一系列...

    javaScript正则表达式讲解用ppt

    JavaScript中的正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配、搜索、替换等操作。在JavaScript中,正则表达式被广泛应用于数据验证、文本处理和字符串操作等方面。 1. **正则表达式概念** - ...

Global site tag (gtag.js) - Google Analytics