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/