0
我想使用正則表達式找到SQL Select語句中的整列列表。使用正則表達式拆分SQL Select語句
例如,
Select col1, col2,col3 from tab1;
必需
[1]: col1
[2]: col2
[3]: col3
的一種方式是此正則表達式
select.*from;
,然後分裂的字符串。還有其他更有效的方法嗎?
謝謝
我想使用正則表達式找到SQL Select語句中的整列列表。使用正則表達式拆分SQL Select語句
例如,
Select col1, col2,col3 from tab1;
必需
[1]: col1
[2]: col2
[3]: col3
的一種方式是此正則表達式
select.*from;
,然後分裂的字符串。還有其他更有效的方法嗎?
謝謝
我會說你的版本是最有效的方式。
您可能建設,抓住所有那些在單次運行正則表達式,但它肯定不會是一樣快,你在做什麼,並且只期待未來看到一個from
下,不背後是否有一個select
背後:
Pattern regex = Pattern.compile("\\w+(?=\\s*(?:,|\\bfrom\\b))(?=.*\\bfrom\\b)");
Matcher regexMatcher = regex.matcher(subjectString);
while (regexMatcher.find()) {
matchList.add(regexMatcher.group());
}
因此,所有的一切,我會說去用你所擁有的。也許讓星號懶:
select.*?from
正則表達式只適用於最簡單的SQL語句。什麼是列別名?那麼在選擇列表中的子查詢或子選擇呢? – 2012-01-06 08:30:21