gpt4 book ai didi

Javascript正则表达式从连接sql查询中获取表名

转载 作者:行者123 更新时间:2023-11-29 17:15:50 25 4
gpt4 key购买 nike

我有一个疑问:

select a.id, a.nama, b.alamat from tsql as a join tswl as b on a.id = b.id join tscl as c on a.id=c.id

使用正则表达式,我想从查询字符串中获取表名称。

我尝试使用正则表达式:

select.*from\s+(\w+).*join\s(\w+).*

它成功地获取了“from”之后的第一个表名,但跳过了第二个表名,并获取了第三个表名。
当前组:[组 1:“tsql”,组 2:“tscl”]

目标群体:[组 1:“tsql”,组 2:“tswl”,组 3:“tscl”] ...依此类推,直到链连接查询的最后一个名称

任何帮助将不胜感激!

最佳答案

您当前的表达式未考虑 from/join 关键字可能的重复。

你可以尝试这个表达式:

(?<=from|join)\s+(\w+)

请在这里亲自尝试一下:https://regex101.com/r/qQ1rvs/1

此处使用的正向后查找 (?<=...) 允许捕获其后面的任何单词 (\w+)。在这种情况下,这些关键字后面的每个表名称都会被该表达式捕获。

关于Javascript正则表达式从连接sql查询中获取表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51633279/

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