我想在與模式匹配後提取用逗號分隔的所有值(,
)。從字符串中提取用逗號分隔的字符串的正則表達式
因此,首先我將字符串與正則表達式匹配,然後使用Matcher
來提取值。
Regex =\(([^)]+)\)
正確匹配string後沒有任何問題。
('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)
請參見[如何匹配Java中括號(嵌套)中的字符串?](http://stackoverflow.com/questions/17759004/how-to-match-string-within-parentheses-nested-in-java)。此外,[此片段](http://stackoverflow.com/a/37207892/3832970)可能會幫助你。如果嵌套級別數字是任意的,則不能使用正則表達式,因爲Java正則表達式不支持遞歸。 –
你似乎在解析一些編程語言。你確定正則表達式能夠匹配所有可能的輸入嗎? – GhostCat
請嘗試在此https://regex101.com/ – amicngh