gpt4 book ai didi

javascript - 使用具有多个标记的 JavaScript 正则表达式分割字符串并考虑转义分隔符

转载 作者:行者123 更新时间:2023-11-28 08:25:25 28 4
gpt4 key购买 nike

我想使用正则表达式在 JavaScript 中拆分字符串。

输入: key1(name1,val1)key2(val2)

预期输出:

  • 键1
  • 名称1,值1
  • 键2
  • val2

如果我使用这个 'key1(name1,val1)key2(val2)'.match(/[^\(\)]+/g) 它对于上面的字符串工作正常但失败对于转义的括号。

例如:以下输入失败 'key1(name\(1,val1)key2(val\)2)'.match(/[^\(\)] +/g)

我想在输入值中允许\) 和\(,并且在分割时不应考虑它。

我想要的预期输出如下:

  • 键1
  • 名称\(1,val1
  • 键2
  • val\)2

如何使用正则表达式实现它?

最佳答案

这个怎么样:

result = subject.match(/(?:\\.|[^()])+/g);

查看live on regex101.com .

说明:

(?:     # Start a non-capturing group that matches...
\\. # either an escaped character
| # or
[^()] # any character except parentheses
)+ # one or more times.

关于javascript - 使用具有多个标记的 JavaScript 正则表达式分割字符串并考虑转义分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22484422/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com