gpt4 book ai didi

java - 正则表达式 - 在第一个匹配后获取第二个单词

转载 作者:行者123 更新时间:2023-12-01 07:44:22 27 4
gpt4 key购买 nike

我正在尝试解析一个简单的 DDL 语句。首先,我尝试提取表名。语法类似于“CREATE TABLE DB_NAME.TABLE_NAME”

到目前为止我已经得到了这个:

String line = "CREATE TABLE DB_NAME.T_NAME";
String pattern = ".*?\\bTABLE\\s+(\\w+)\\b.*";
System.out.println(line.replaceFirst(pattern, "$1"));

这给了我“DB_NAME”。我怎样才能让它返回“T_NAME”?

我尝试按照 this answer 中的更新进行操作,但我无法让它工作,可能是由于我的正则表达式技能非常有限。

最佳答案

像这样的东西怎么样:

.*?\\bTABLE\\s+\\w+\\.(\\w+)\\b.*

Demo

它首先将 TABLE 关键字与 .*?\\bTABLE\\s+ 进行匹配。然后它将 DB_NAME.\\w+\\. 相匹配。最后它匹配并捕获 T_NAME(\\w+)

关于java - 正则表达式 - 在第一个匹配后获取第二个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56842894/

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