The quick brown #fox jumped over the #reallyBigFence.
结果应该是:['fox','reallyBigFence']
所有标签都是无空格的,它们以哈希标签开头。
我是正则表达式的新手,但我认为这会起作用(不确定(:/#([a-z0-9]+)/gi
我该怎么处理那个正则表达式? .match?
是的,只是.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 "#"