我有一个如下所示的字符串。
总和(高度(英寸))
我需要像这样分割上面的字符串。
总和
高度(英寸)
我尝试过遵循正则表达式。但我没有运气。
/[ .:;?!~,`"&|^\((.*)\)$<>{}\[\]\r\n/\\]+/
有什么办法可以实现这一点吗?
提前致谢。
最佳答案
您可以匹配第一个 (
之前的所有内容,然后是第一个 (
和位于末尾的 )
之间的所有内容字符串,并使用
const [_, one, two] = "Sum(Height(In))".match(/^([^()]+)\((.*)\)$/);
console.log(`The first value is: ${one}, the second is ${two}`);
请参阅regex demo 。如果最后一个 )
不在字符串末尾,您可以删除字符串 anchor 的 $
结尾。如果内部可以有换行符,请将 .*
替换为 [\w\W]*
。
正则表达式详细信息:
^
- 字符串开头([^()]+)
- 第 1 组:(
和) 之外的一个或多个字符
\(
- 一个(
char(.*)
- 第 2 组:除换行符之外的任何零个或多个字符,尽可能多(*
是贪婪)\)
- 一个)
字符$
- 字符串结尾。
关于javascript - javascript中根据括号分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66679820/