Apply your JS skills to key Mozilla projects as an MDN Fellow! http://mzl.la/MDNFellowship

mozilla
您的搜索结果

    String.prototype.match()

    概述

    当字符串匹配到正则表达式(regular expression)时,match() 方法会提取匹配项。

    语法

    str.match(regexp);

    参数

    regexp
    一个正则表达式对象。如果传入一个非正则表达式对象,则会隐式地使用 new RegExp(obj) 将其转换为正则表达式对象。

    返回值

    array
    一个包含匹配结果的数组,如果没有匹配项,则返回 null

    描述

    如果正则表达式没有 g 标志,返回和 RegExp.exec(str) 相同的结果。而且返回的数组拥有一个额外的 input 属性,该属性包含原始字符串。另外,还拥有一个 index 属性,该属性表示匹配结果在原字符串中的索引(以0开始)。

    如果正则表达式包含 g 标志,则该方法返回一个包含所有匹配结果的数组。如果没有匹配到,则返回 null

    参看:RegExp 方法

    • 如果你需要知道一个字符串是否匹配一个正则表达式(RegExp),可使用 RegExp.test(str)
    • 如果你只是需要第一个匹配结果,你可能想要使用 RegExp.exec(str)

    示例

    例子:使用 match

    在下例中,使用 match 查找 "Chapter" 紧跟着 1 个或多个数值字符,再紧跟着一个小数点和数值字符 0 次或多次。正则表达式包含 i 标志,因此大小写会被忽略。

    var str = "For more information, see Chapter 3.4.5.1";
    var re = /(chapter \d+(\.\d)*)/i;
    var found = str.match(re);
    
    console.log(found);
    
    // logs ["Chapter 3.4.5.1", "Chapter 3.4.5.1", ".1"]
    
    // "Chapter 3.4.5.1" is the first match and the first value 
    //  remembered from (Chapter \d+(\.\d)*).
    
    // ".1" is the last value remembered from (\.\d).

    例子:match 使用全局(global)和忽略大小写(ignore case)标志

    下例展示了 match 使用 global 和 ignore case 标志。A-E、a-e 的所有字母将会作为一个数组的元素返回。

    var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    var regexp = /[A-E]/gi;
    var matches_array = str.match(regexp);
    
    console.log(matches_array); 
    // ['A', 'B', 'C', 'D', 'E', 'a', 'b', 'c', 'd', 'e']
    

    规范

    Specification Status Comment
    ECMAScript 3rd Edition. Standard Initial definition.
    Implemented in JavaScript 1.2
    ECMAScript 5.1 (ECMA-262)
    String.prototype.match
    Standard  
    ECMAScript 6 (ECMA-262)
    String.prototype.match
    Draft  

    浏览器兼容性

    Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
    Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

    相关链接

    文档标签和贡献者

    此页面的贡献者有: AlexChao
    最后编辑者: AlexChao,