The quick brown #fox jumped over the #reallyBigFence.


结果应为:['fox','reallyBigFence']

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

我是regex的新手,但我认为这可以工作(不确定):/#([a-z0-9]+)/gi

我该如何处理该正则表达式? 。比赛?

最佳答案

是的,只需.match()

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


match方法将返回找到的子字符串数组(因为regexp具有全局标志),否则返回null(如果未找到任何内容)。但是,它将返回完整的匹配字符串,而不是捕获组,因此以上将导致["#fox","#reallyBigFence"]。由于JavaScript不知道Lookbehind,因此您需要在以后用

if (resultarray) // !== null
    for (var i=0; i<resultarray.length; i++)
        resultarray[i] = resultarray[i].substr(1); // remove leading "#"

关于javascript - 在Javascript中,如何将字符串的“标签”放入数组中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10628274/

10-17 03:09