我是regexs的新手,目前我試圖想出一個簡單的正則表達式,它以下列格式搜索序列號:0217103200XX,其中「XX」可以每個都是一個數字。我正在使用SQL Server Management Studio將正則表達式作爲參數傳遞給存儲過程。我不確定該語法是否與其他編程語言有所不同。我有以下正則表達式作爲參考: (?:2328 \ d \ d(?:0 [1-9] | [1-4] \ d | 5 [0-3])\ d {4})用於T-SQL中序列號的正則表達式
任何建議表示讚賞。
更新: 我實際上在SQL查詢中使用它,而不是在.Net應用程序中。格式如下:
USE [MyDB]
EXEC MyStoredProcedure @regex = '(?:2328\d\d(?:0[1-9]|[1-4]\d|5[0-3])\d{4})'
SQL Server不有本地regex支持 - 您需要創建一個SQLCLR程序集以通過.NET公開功能。 – 2010-10-21 17:37:24
@OMG:還有xp_pcre(請參閱本文的[舊答案](http://stackoverflow.com/questions/267921/))。現在可能有些過時了,但在我們的一臺服務器上運行得非常好。 – Tomalak 2010-10-21 17:48:15
@Tomalak:酷,但它不是本地 – 2010-10-21 17:57:36