代码之家  ›  专栏  ›  技术社区  ›  Alex

需要帮助了解javascript的.match方法

  •  3
  • Alex  · 技术社区  · 14 年前

    我明白 .match() 返回匹配项的数组,如果未找到,则返回空值。但是如何访问与.match一起使用的捕获组的值呢?

    例如:

    var val = whatever.match('(?:^|;) ?' + stuff + '=([^;]*)(?:;|$)');
    

    假设正则表达式匹配不止一次,我如何访问特定匹配中捕获组的值?

    谢谢!!

    1 回复  |  直到 14 年前
        1
  •  4
  •   Jacob Relkin    14 年前

    使用数组表示法: [0] , [1] 等。

    var val = whatever.match('(?:^|;) ?' + stuff + '=([^;]*)(?:;|$)');
    if(val != null) {
        var first = val[0];
        //...
    }