如何使用正则表达式来匹配文本框中给出的数据库和表名

本文关键字:数据库 正则表达式 何使用 文本 | 更新日期: 2023-09-27 18:31:39

我想匹配我的数据库和表名,就像在 mysql 查询中一样,我想匹配[数据库名称]。[德博]。[表名] 所以这意味着我想匹配开始的方括号,然后匹配任何单词的右方括号,然后.[dob] 按原样,然后再次点开头方括号和任何单词和右方括号,到目前为止我已经尝试过这个/[.*]。[/匹配 [任意词]。[ 但是我怎样才能完成它?

如何使用正则表达式来匹配文本框中给出的数据库和表名

 var query = @"SELECT * FROM [Database Name].[dbo].[Table Name]";
 var match = Regex.Match(query, @"'[([^']]+)']'.'[dbo']'.'[([^']]+)']").Groups;
 var database = match[1].ToString();
 var table = match[2].ToString();
 //database = "Database Name"
 //table = "Table Name"

这个怎么样:

你很接近。您需要转义方括号。

调试示例

'[(.+?)']
'[(.+?)']'.'[(.+?)']'.'[(.+?)']