0
使用正則表達式來匹配declare
語句後的所有T-SQL變量名是否可能?正則表達式與T-SQL變量聲明相匹配
在下面,我想匹配Var1
,Var2
和Var3
。我不想匹配稍後對這些變量的引用。
declare
@Var1 datetime,
@Var2 int,
@Var3 varchar(max)
我一直在使用RegexBuddy工作一段時間,似乎無法做到正確。我開始懷疑是否有可能。
編輯:
這裏就是我這麼遠。它只匹配第一個變量。我無法弄清楚如何匹配後續的。
(?i:declare)\s+
(?:@([\[email protected]$#]+)\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))
這不是原來的問題的一部分,但我做了一些改變,所以它匹配具有多個「參數」的類型 - 例如:小數(9,2) - 你的做法。 '(?i:declare |,)\ s +(?:(?:@(? [\ w @ $#] +))\ s +(? \ w +(?:\ s * \([^)] + \))?))+' –
Daniel
2010-11-09 17:16:25
好的補充,我沒有想到! – CodingGorilla 2010-11-09 17:25:12
感謝您的幫助! – Daniel 2010-11-09 17:31:14