我有以下字符串.为清晰起见,我将其分为两行,但它们是一行.
WHEN NVL(somevar1, 0) > 0 THEN
(CAST(NVL(somevar2, 0) AS
FLOAT(53)) / CAST(NVL(somevar3, 0) AS FLOAT(53))) * 100
Run Code Online (Sandbox Code Playgroud)
我想写一个正则表达式,以便我可以得到somevar1,somevar2和somevar3.
我正在尝试这样的事情:
NVL(.*,)
Run Code Online (Sandbox Code Playgroud)
但这匹配最后一个逗号而不是第一个逗号.
顺便说一句,我在groovy这样做.
它有助于了解您正在使用的正则表达式引擎,因为并非所有人都支持非贪婪量词.
请尝试以下方法之一:
NVL\((.*?),
Run Code Online (Sandbox Code Playgroud)
要么
NVL\(([^,]*),
Run Code Online (Sandbox Code Playgroud)