我正在尝试使用三个总捕获组,其中最后一个是可选的。我遇到了一个问题,我不知道如何从最后一个组中排除最后一个分隔符,并让它查看到最后。
这是我的模式
/(.+)\@(.+)\:(.+)/
这是我的示例字符串
test@hello // => ['test', 'hello']
test@hello:optional // => ['test', 'hello', 'optional']
答案 0 :(得分:2)
使用string.split
string.split(/[:@]/)
[:@]
匹配冒号或@
符号,然后split函数根据匹配的字符拆分字符串。
var s = 'test@hello:optiona'
alert(s.split(/[@:]/))
或
var s = 'test@hello:optiona'
alert(s.match(/[^@:]+/g))