SQL Server通過外部程式集註冊Regex函數(CLR函數)

來源:互聯網
上載者:User

標籤:c#   blog   網盤   create   extern   簡單   conf   .dll   enable   

1.下載dll程式集(通過C#編寫的支援正則的方法),百度網盤下載:

  1.1如果只想用,可以直接下載MSSQLRegexExtend.dll
  https://pan.baidu.com/s/1qX8eHa8
  1.2正則程式集對應的解決方案MSSQLRegexExtend.sln,已打包
  https://pan.baidu.com/s/1qXZja9m

2.SQL Server資料庫註冊程式集

CREATE ASSEMBLY AssemblyRegex from ‘D:\MSSQLRegexExtend\MSSQLRegexExtend.dll‘ WITH PERMISSION_SET = SAFE 

3.設定開啟支援CLR

 

EXEC SP_CONFIGURE ‘clr enabled‘, 1 RECONFIGURE         

 

4.建立支援正則匹配的純量涵式  

--DROP FUNCTION [dbo].[RegexMatch]  CREATE FUNCTION [dbo].[RegexMatch](@Regex [nvarchar](max),@Input [nvarchar](max))  RETURNS [nvarchar](max) WITH EXECUTE AS CALLER  AS   EXTERNAL NAME [AssemblyRegex].[MSSQLRegexExtend.RegexExtend].[Match]  

 

5.建立支援正則替換的純量涵式 

--DROP FUNCTION [dbo].[RegexReplace]  CREATE FUNCTION [dbo].[RegexReplace](@Regex [nvarchar](max),@Input [nvarchar](max),@Replace [nvarchar](max))  RETURNS [nvarchar](max) WITH EXECUTE AS CALLER  AS   EXTERNAL NAME [AssemblyRegex].[MSSQLRegexExtend.RegexExtend].[Replace]  

6.建立支援正則校正的純量涵式  

--DROP FUNCTION [dbo].[RegexIsMatch]  CREATE FUNCTION [dbo].[RegexIsMatch](@Regex [nvarchar](max),@Input [nvarchar](max))  RETURNS [bit] WITH EXECUTE AS CALLER  AS   EXTERNAL NAME [AssemblyRegex].[MSSQLRegexExtend.RegexExtend].[IsMatch]  

附部分簡單正則:

/*.  匹配除分行符號以外的任一字元 \w 匹配字母或數字或底線或漢字 \s 匹配任意的空白符 \d 匹配數字 \b 匹配單詞的開始或結束 ^  匹配字串的開始 $  匹配字串的結束 *//**     重複零次或更多次 +     重複一次或更多次 ?     重複零次或一次 {n}   重複n次 {n,}  重複n次或更多次 {n,m} 重複n到m次 \W       匹配任意不是字母,數字,底線,漢字的字元 \S       匹配任意不是空白符的字元 \D       匹配任意非數位字元 \B       匹配不是單詞開頭或結束的位置 [^x]     匹配除了x以外的任一字元 [^aeiou] 匹配除了aeiou這幾個字母以外的任一字元 IP地址匹配: ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)(\d{1,3}\.){3}\d{1,3}是一個簡單的IP地址匹配運算式。運算式順序分析:  \d{1,3}匹配1到3位的數字,(\d{1,3}\.){3}匹配三位元字加上一個英文句號(這個整體也就是這個分組)重複3次,最後再加上一個一到三位的數字(\d{1,3})。*/

  

  

 

 

  

SQL Server通過外部程式集註冊Regex函數(CLR函數)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.