javascript - 在 Javascript 中,如何将字符串的 "tags"放入数组中?

标签 javascript regex

The quick brown #fox jumped over the #reallyBigFence.

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

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

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

我该如何处理该正则表达式? .匹配?

最佳答案

是的,只是.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 "#"

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

相关文章:

Javascript - 两个大写字母、小写字母和数字的正则表达式

javascript - 如何使用 css 或 js 根据 vue.js 中的条件在打印页面中设置不显示?

c# - 复杂的正则表达式或字符串解析

javascript - 使用 Javascript 提交到特定按钮?

c++ - 正则表达式,包含名称 + "string"+ 数字,仅此而已

javascript - div标签目标属性

javascript - 获取 javascript 函数对象的参数计数(甚至名称)

javascript - 如何使用通用函数将数据插入到 sqlite 数据库中

regex - 如何在 Rebol 中查找与模式匹配的所有子字符串

javascript - 如何在javascript正则表达式中匹配精确的字符串