【发布时间】:2010-11-09 15:35:08
【问题描述】:
是否可以使用正则表达式匹配declare 语句之后的所有 T-SQL 变量名称?
在下面,我想匹配Var1、Var2 和Var3。我不想匹配以后对这些变量的引用。
declare
@Var1 datetime,
@Var2 int,
@Var3 varchar(max)
我已经使用 RegexBuddy 进行了一段时间的研究,但似乎无法正确处理。我开始怀疑这是否可能。
编辑:
这是我到目前为止所得到的。它只匹配第一个变量。我不知道如何匹配后续的。
(?i:declare)\s+
(?:@([\w@$#]+)\s+(?:bigint|int|smallint|tinyint
|(?:(?:decimal|numeric)(?:\s*\(\s*\d+(?:\s*,\s*\d+)\s*\))?)
|money|smallmoney
|(?:(?:float|datetime2|datetimeoffset|time|char|varchar|nchar
|nvarchar|binary|varbinary)(?:\s*\(\s*\d+\s*\))?)
|real|date|smalldatetime|datetime|text|ntext|image
|uniqueidentifier|xml))
【问题讨论】: