1
The quick brown #fox jumped over the #reallyBigFence.

结果应该是:['fox','reallyBigFence']

所有标签都是无空格的,它们以哈希标签开头。

我是正则表达式的新手,但我认为这会起作用(不确定):/#([a-z0-9]+)/gi

我该怎么处理那个正则表达式?。匹配?

4

1 回答 1

2

是的,只是.match()

var resultarray = "The quick brown #fox jumped over the #reallyBigFence."
   .match(/#([a-z0-9]+)/gi);

match 方法将返回一个找到的子字符串数组(因为正则表达式具有全局标志),否则null如果没有找到。然而,它返回完整匹配的字符串而不是捕获组,因此上述结果将导致["#fox","#reallyBigFence"]. 由于 JavaScript 不知道Lookbehind,您需要在之后修复它

if (resultarray) // !== null
    for (var i=0; i<resultarray.length; i++)
        resultarray[i] = resultarray[i].substr(1); // remove leading "#"
于 2012-05-16T23:55:05.410 回答