在这个办理计划中,我们必要SQLServer2000或更高。我们还必要断定呆板中有VBScript.RegExp类库,这随年夜多半Windows2000servers中的WindowsScripting包配有。若你正在利用一个更早版本的Windows,你必需为你的操纵体系下载最新版的WindowsScripting。
自界说函数
上面是我的自界说函数,可用来在源字符串中搜刮一个正则形式表达式。
CREATEFUNCTIONdbo.find_regular_expression
(
@sourcevarchar(5000),
@regexpvarchar(1000),
@ignorecasebit=0
)
RETURNSbit
AS
BEGIN
DECLARE@hrinteger
DECLARE@objRegExpinteger
DECLARE@objMatchesinteger
DECLARE@objMatchinteger
DECLARE@countinteger
DECLARE@resultsbit
EXEC@hr=sp_OACreateVBScript.RegExp,@objRegExpOUTPUT
IF@hr0BEGIN
SET@results=0
RETURN@results
END
EXEC@hr=sp_OASetProperty@objRegExp,Pattern,@regexp
IF@hr0BEGIN
SET@results=0
RETURN@results
END
EXEC@hr=sp_OASetProperty@objRegExp,Global,false
IF@hr0BEGIN
SET@results=0
RETURN@results
END
EXEC@hr=sp_OASetProperty@objRegExp,IgnoreCase,@ignorecase
IF@hr0BEGIN
SET@results=0
RETURN@results
END
EXEC@hr=sp_OAMethod@objRegExp,Test,@resultsOUTPUT,@source
IF@hr0BEGIN
SET@results=0
RETURN@results
END
EXEC@hr=sp_OADestroy@objRegExp
IF@hr0BEGIN
SET@results=0
RETURN@results
END
RETURN@results
END