gpt4 book ai didi

java - 我可以使用正则表达式从短语中解析单词吗?

转载 作者:行者123 更新时间:2023-12-02 02:19:14 25 4
gpt4 key购买 nike

我正在尝试从插入语句列表中解析表名称,所有这些语句的形式都是insert into table_a。对于该语句,我想找到名称 table_a

我当前执行此操作的代码非常笨重,可以使用正则表达式来完成吗?

    int index = query.indexOf("insert into");
if (index >= 0) {
query = query.substring(index + "insert into".length());
query = query.trim();

index = query.indexOf(" ");
if (index >= 0)
return query.substring(0, index);
else
return query; // tablename is last word in query
}

最佳答案

是的,正则表达式在这里应该有所帮助:

String input = "INSERT INTO tableA ... INSERT INTO tableB";
String pattern = "insert into ([\\s]+)";
List<String> tables = new ArrayList<>();

Pattern r = Pattern.compile(pattern, Pattern.CASE_INSENSITIVE);

Matcher m = r.matcher(input);
while (m.find()) {
tables.add(m.group(1));
System.out.println(m.group(1));
}

tableA
tableB

Demo

请注意,我假设您的表名没有空格。如果是这样,那么更好的方法是匹配直到左括号,假设您的插入语句是标准 SQL。

关于java - 我可以使用正则表达式从短语中解析单词吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48758336/

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