【发布时间】:2017-04-28 13:26:21
【问题描述】:
例如我们输入以下字符串:
#FF00FFNick#AA00efName
我想创建一个模式来获取以下输出数组
{
[0] = {"#FF00FF", "Nick"},
[1] = {"#AA00ef", "Name"}
}
我写如下代码
var reg = /#([a-f\d]{3}){1,2}(.*?)/gi;
alert(str.match(reg));
但输出我只得到十六进制代码子字符串。哪里错了?
【问题讨论】:
-
也许
/(#[a-f\d]{6})([^#]+)/gi可以吗?此格式是否固定且名称不能包含#?或者,(#(?:[a-f\d]{3}){1,2})([^#]+) -
您对预期结果的格式有点混乱。通常数组由 [] 表示,对象字面量由 {} 表示
-
我认为示例输出在问题中“示意性地”显示,只是为了显示应提取字符串的哪些部分以及应如何对它们进行分组。 Victor,如果您需要更具体的输出类型,请告知。
标签: javascript regex hex