我想找到能够将2个或3个组带入阵列的表达式,而第3个组是可选的(可以是或不是)
这是我到目前为止使用的表达式:
var expr = /^\s*(.+)\s+in\s+(.*?)\s*$/
如果用户只有'物联网' - 我希望匹配数组如下:
[1] - thing
[2] - Things
如果用户有'物联网| orderBy“id”' - 我希望匹配数组如下:
[1] - thing
[2] - Things
[3] - | orderBy "id"
console.log('2:'+'thing in Things'.match(expr)[2]) //-want it to be "Things"
console.log('3:'+'thing in Things | orderBy "id"'.match(expr)[3]) //want it to be 'orderBy "id"'' (currently - undefined)
此处是指示问题的jsbin的链接:
感谢前进
答案 0 :(得分:1)
这样的事情:
/^\s*(.+)\s+in\s+(.*?)\s*(?:\s+\|\s+(.*))?$/