可选的结束捕获组

时间:2016-04-22 01:35:15

标签: javascript regex

我正在尝试使用三个总捕获组,其中最后一个是可选的。我遇到了一个问题,我不知道如何从最后一个组中排除最后一个分隔符,并让它查看到最后。

这是我的模式

/(.+)\@(.+)\:(.+)/

这是我的示例字符串

test@hello // => ['test', 'hello']
test@hello:optional // => ['test', 'hello', 'optional']

1 个答案:

答案 0 :(得分:2)

使用string.split

string.split(/[:@]/)

[:@]匹配冒号或@符号,然后split函数根据匹配的字符拆分字符串。

var s = 'test@hello:optiona'
alert(s.split(/[@:]/))

var s = 'test@hello:optiona'
alert(s.match(/[^@:]+/g))