我有一个包含创建查询的字符串,我试图根据逗号分割它。不幸的是,其中一些行在逗号中包含逗号。如何根据括号内的逗号分割字符串
例子:
dbo.Display_Test1.Column,
CASE WHEN CHARINDEX(' To ', Test3) > 0 AND CHARINDEX('XVR', Test3) = 0 THEN LEFT(Test3, (CHARINDEX(' To ', Test3) - 12)) ELSE Test3 END AS Test3,
dbo.Display_Test2.Column,
ISNULL((CASE WHEN [2-Display-Test4].[Total Number] > 0 AND [1-Display-Test5].SumOfNumber = 0 THEN 0 ELSE (([2-Display-Test4].[Total Number] * 1000)/[1-Display-Test5].SumOfNumber) END), 0) AS Test6,
我想根据不属于(可能是多个)括号内的逗号分割我的字符串。作为参考,我的例子应该分割的地方是换行符(虽然我的字符串没有换行符)。
我已经尝试了一些不同的解决方案,但没有工作得很对:上线1,3
/(?:\(*[^()]*\)|[^,])+/g
作品,和4,但第2行失败,它打破了行成多个匹配。
/((?:[^,(]+|(\((?:[^()]+)|$1\)))+)/g
在1,2和3行工作,但在第4行失败。它也将行分成多个匹配。
我似乎不能使它工作。任何帮助表示赞赏。
[这听起来像你问的是错误的东西(http://meta.stackexchange.com/questions/66377/what -is-的-XY-问题/ 66378#66378)。 *为什么*你试图在查询结束之后拆分查询(毕竟,在形成查询之前,你想要的信息在没有奇怪字符串拆分的情况下可用)?你想要提取什么信息? –
这是不可能的JavaScript正则表达式。 –
请张贴明确的输入/输出样本。即:“__i有这个_”和“__我需要这个_”。 –