使用regexp创建子字符串

时间:2016-12-26 11:42:32

标签: javascript regex node.js string

我有一个格式为James Bond (007)的字符串。 我希望它转换为{name: "James Bond", code: "007"}

我可以执行for循环并完成此操作,但我想知道使用regexp是否更容易/更有效。

假设名称或代码中不会有()。 我在这里使用nodejs。

2 个答案:

答案 0 :(得分:1)

skipping incompatible...

另一个选项,支持超过1个空格的名称:

"James Bond (007)".replace(/(.* .*) \(?(.*)\)?/, '{name: "$1", code: "$2"}')

答案 1 :(得分:1)

这里不需要替换,只需

const [, name, number] = "James Bond (007)".match(/(.*?) \((.*?)\)/);
    
console.log({name, number});