gpt4 book ai didi

java - 使用正则表达式拆分 SQL Select 语句

转载 作者:行者123 更新时间:2023-12-01 15:36:34 24 4
gpt4 key购买 nike

我想使用 Regex 查找 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

关于java - 使用正则表达式拆分 SQL Select 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8754905/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com