1

我有以下 Javascript,它是更大功能的一部分。我正在做一个 javascript 匹配,然后尝试获取匹配的长度。问题是,即使长度为 10 个字符,长度也总是返回 1。

var content = $(this).text();
var word = /#(\w+)/ig;
var query = content.match(word);

alert(query + ' | ' + query.length);

如何获得匹配长度的准确值?

4

1 回答 1

8

因为String.match使用全局正则表达式的结果是一个数组。query.length告诉你只有一场比赛;您可以使用 访问匹配的字符串query[0]

alert它在您的调用中似乎是一个字符串,因为Array.toString它相当于array.join(','). 只有一个元素,它显示了单个元素。

于 2012-08-21T13:49:27.643 回答