gpt4 book ai didi

Java正则表达式使用表别名查找特定表的所有列

转载 作者:行者123 更新时间:2023-12-01 22:18:21 26 4
gpt4 key购买 nike

在下面的查询中,我需要使用别名 T_1 搜索 table1 的所有列

从 table1 T_1、table2 T_2 中选择 T_1.name、T_1.age、T_2.dept,其中 T_1.id=T_2.id

答案: 姓名、年龄、ID

我正在使用下面的表达式,因为我想在出现特殊字符时结束搜索。在下面的表达式中,当存在“=”时,我将结束搜索,但当存在非 aplpha 数字字符时,我想进行概括。

“(?i)\\b”+ T_1 +“\\.” +“[a-zA-Z]*([^\\=]+)”

正则表达式也适用于以下查询,从 table1 中选择 T_1.name、T_1.age,其中 T_1.id>100

最佳答案

您可以使用

(?i)\bT_1\.(\w+)

请参阅regex demo 。请注意,\w+ 不匹配“特殊”字符,仅匹配字母、数字或下划线。如果不允许使用下划线,请将 \w+ 替换为 [^\W_]+\p{Alnum} 并附加 \b 字边界:

(?i)\bT_1\.([^\W_]+)\b

详细信息

  • (?i) - 不区分大小写模式开启
  • \b - 单词边界
  • T_1\. - T_1. 子字符串
  • (\w+) - 第 1 组:一个或多个字母、数字或 _。要排除 _ 并仅匹配字母或数字,请使用 ([^\W_]+)(\p{Alnum}+) 并附加 \b 字边界。

Java 用法:

String regex1 = "(?i)\\bT_1\\.(\\w+)";
String regex2 = "(?i)\\bT_1\\.([^\\W_]+)\\b";

关于Java正则表达式使用表别名查找特定表的所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60615452/

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