【发布时间】:2016-12-27 11:50:51
【问题描述】:
我想在与模式匹配后提取所有以逗号分隔的值(,)。
首先我将字符串与正则表达式匹配,然后使用Matcher 提取值。
Regex= \(([^)]+)\) 正确匹配后面的字符串,没有任何问题。
('A', '36254632546', 0, 'Test, test1', NULL)
但当字符串convert(datetime, 'Dec 27 2016 10:36:54', 116) 在原始字符串中可用时无法匹配。我尝试通过将$ 放在最后来匹配最后一个),但似乎不起作用。
要匹配的字符串 = ('A', convert(datetime, 'Dec 27 2016 10:36:54', 116), 0, 'Test, test1', NULL)
【问题讨论】:
-
见How to match string within parentheses (nested) in Java?。此外,this snippet 可能会对您有所帮助。如果嵌套级别数是任意的,则不能使用正则表达式,因为 Java 正则表达式不支持递归。
-
您似乎在解析某种编程语言。您确定正则表达式能够匹配所有可能的输入吗?
-
请试试这个regex101.com
标签: java regex pattern-matching