简短的答案是不,这是无法完成的。LIKE的语法与正则表达式不同(并且功能不如正则表达式)。
但是您可以跳到.Net并在那里进行匹配。您可以
VBscript.RegExp使用sp_OACreate实例化内部T-SQL并使用它。
CREATE FUNCTION dbo.isValidEmailFormat( @Email varchar(100))RETURNS bitASBEGIN DECLARE @pattern varchar(4000) SET @pattern = '[a-zA-Z0-9_-]+@([a-zA-Z0-9_-]+.)+(com|org|edu|nz|au)' DECLARE @Result bit DECLARE @objRegexExp INT EXEC sp_OACreate 'VBscript.RegExp', @objRegexExp OUT EXEC sp_OASetProperty @objRegexExp, 'Pattern', @pattern EXEC sp_OASetProperty @objRegexExp, 'IgnoreCase', 1 EXEC sp_OASetProperty @objRegexExp, 'MultiLine', 0 EXEC sp_OASetProperty @objRegexExp, 'Global', false EXEC sp_OASetProperty @objRegexExp, 'CultureInvariant', true EXEC sp_OAMethod @objRegexExp, 'Test', @Result OUT, @Email EXEC sp_OADestroy @objRegexExp RETURN @ResultEND
快看一下Regex电子邮件验证错误-使用Javascript来查看您是否希望对允许使用哪些字符的限制有所减少。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)