`
daniel.wuz
  • 浏览: 101821 次
  • 性别: Icon_minigender_1
  • 来自: 纽约
最近访客 更多访客>>
社区版块
存档分类

[转]Sqlserver 2005使用正则表达式

阅读更多

www.cnblogs.com/feiyu401/archive/2007/11/20/965374.html

 

先创建自定义函数
-----------------------------------------------
create   function   dbo.regexReplace  
  (  
  @source   varchar(5000),         --原字符串  
  @regexp   varchar(1000),         --正则表达式  
  @replace   varchar(1000),       --替换值  
  @globalReplace   bit   =   0,       --是否是全局替换  
  @ignoreCase   bit   =   0               --是否忽略大小写  
  )  
  returnS   varchar(1000)   AS  
  begin  
  declare   @hr   integer  
  declare   @objRegExp   integer  
  declare   @result   varchar(5000)  
   
  exec   @hr   =   sp_OACreate   'VBScript.RegExp',   @objRegExp   OUTPUT  
  IF   @hr   <>   0   begin  
  exec   @hr   =   sp_OADestroy   @objRegExp  
  return   null  
  end  
  exec   @hr   =   sp_OASetProperty   @objRegExp,   'Pattern',   @regexp  
  IF   @hr   <>   0   begin  
  exec   @hr   =   sp_OADestroy   @objRegExp  
  return   null  
  end  
  exec   @hr   =   sp_OASetProperty   @objRegExp,   'Global',   @globalReplace  
  IF   @hr   <>   0   begin  
  exec   @hr   =   sp_OADestroy   @objRegExp  
  return   null  
  end  
  exec   @hr   =   sp_OASetProperty   @objRegExp,   'IgnoreCase',   @ignoreCase  
  IF   @hr   <>   0   begin  
  exec   @hr   =   sp_OADestroy   @objRegExp  
  return   null  
  end    
  exec   @hr   =   sp_OAMethod   @objRegExp,   'Replace',   @result   OUTPUT,   @source,   @replace  
  IF   @hr   <>   0   begin  
  exec   @hr   =   sp_OADestroy   @objRegExp  
  return   null  
  end  
  exec   @hr   =   sp_OADestroy   @objRegExp  
  IF   @hr   <>   0   begin  
  return   null  
  end  
   
  return   @result  
  end  
  GO  

-------------------------------------
配置对扩展存储过程的支持
Microsoft SQL Server 2005 -> 配置工具 -> 外围应用配置器 -> 功能的外围应用配置 -> Ole自动化:支持Ole自动化

使用方法:
declare @source nvarchar(4000)
set @source = '<HTML>dsafsdf<HEAD>'
select dbo.regexReplace(@source, '\<[^\>]+\>', '', 1, 1)


分享到:
评论

相关推荐

    SQLServer中使用正则表达式

    /*********使用方法**************/ --正则校验(符合为1,不符合为0) SELECT [dbo].[Regex.IsMatch]('^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$','dyuanrong2010@163.com') 符合验证, [dbo].[Regex...

    在sqlserver2008r2版本中实现正则表达式

    SQL Server 2005及以后版本集成了.NET Framework,允许我们通过CLR(Common Language Runtime)创建自定义函数,从而实现正则表达式功能。首先,需要在C#或VB.NET中编写一个利用.NET Framework的`System.Text....

    sql_server 正则表达式

    在SQL Server 2005之前,尽管可以通过OLE自动化对象或扩展存储过程使用正则表达式,但效率低下,性能问题频发。然而,随着SQL Server 2005对托管公共语言运行库(CLR)的支持,这一情况得到了根本性的改变。通过CLR...

    SQL 语法分析,正则表达式解析C#文件;正则表达式实现的语法分析引擎

    在SQL Server 2005中,引入了对正则表达式的支持,使得模式匹配和数据提取更为便捷。正则表达式是一种强大的文本匹配模式,可以用来查找、替换或者提取满足特定模式的字符串。在SQL Server中,可以使用`LIKE`或`...

    用正则表达式提取SQL

    标题“用正则表达式提取SQL”涉及到的是在编程中如何使用正则表达式来从文本或代码中抓取SQL语句的相关知识。在IT领域,正则表达式(Regular Expression)是一种强大的文本处理工具,它能快速地匹配、查找、替换或者...

    SqlServer类似正则表达式的字符处理问题

    SQL Serve提供了简单的字符模糊匹配功能,比如:like, patindex,不过对于某些字符处理场景还显得并不足够,日常碰到的几个问题有: 1. 同一个字符/字符串,出现了多少次 2. 同一个字符,第N次出现的位置 3. 多个...

    正则表达式在SQL Server 2000中的实现与应用.pdf

    如果可能,升级到SQL Server 2005或更高版本是一个好选择,因为这些版本开始内置了对正则表达式的支持,提供了`sys.fn_varbintohexstr`和`sys.fn_sqlvarbintohexstr`函数,以及`REGEXP_LIKE`等操作。 总的来说,...

    SQL Server中利用正则表达式替换字符串的方法

    但原生的SQL Server并没有内置对正则表达式的支持,直到SQL Server 2016才加入了对正则表达式的基本支持。在此之前的版本中,需要使用OLE对象的方式调用VBScript.RegExp组件来实现正则表达式的相关功能。 上述内容...

    正则表达式从入门到精通

    虽然标准SQL不直接支持正则表达式,但许多数据库系统如MySQL、PostgreSQL、Oracle和SQL Server提供了扩展函数来实现正则表达式的功能,如MySQL的`REGEXP`或SQL Server的`PATINDEX`。 在毕业设计中,正则表达式是一...

    C#正则表达式提取网页数据

    本主题聚焦于利用C#的正则表达式功能来从网页中提取数据,并将其存储到SQL Server 2005数据库。下面将详细阐述这一过程中的关键知识点。 一、正则表达式(Regular Expression) 正则表达式是一种强大的文本处理工具...

    jsp+正则表达式实用总结

    5. **安全防护**:防止SQL注入和跨站脚本攻击(XSS),通过正则表达式过滤掉潜在的恶意输入。 6. **日志分析**:在处理日志文件时,正则表达式可以帮助快速定位和提取关键信息。 7. **数据提取**:从网页抓取或API...

    用C#正则表达式实现的百度体育新闻的抓取

    在本文中,我们将深入探讨如何使用C#编程语言和正则表达式来实现百度体育新闻的抓取。C#是一种广泛应用于Windows平台的面向对象的编程语言,它提供了丰富的类库支持网络通信和数据处理。正则表达式则是用于文本模式...

    使用正则表达式匹配tsql注释语句

    在本文中,我们将探讨如何使用正则表达式有效地匹配T-SQL(Transact-SQL)中的注释。 首先,让我们回顾一下T-SQL单行注释的基本形式: ```sql -- 这是一条注释 ``` 正则表达式的目的是找到所有以`--`开头直到行尾的...

    T-SQL中使用正则表达式函数

    然而,SQL Server的标准版本并不直接支持正则表达式,但可以通过使用CLR(Common Language Runtime)集成来实现。这篇文章将探讨如何在T-SQL中使用正则表达式的函数。 首先,我们看到作者在Visual Studio Team ...

    ASP_NET正则表达式

    - SQL Server 2008及以上版本引入了`LIKE`和`PATINDEX`函数的增强版——`SYSTEM_VERSIONING`,支持简单的正则表达式匹配。 - PostgreSQL、MySQL等数据库系统支持更强大的正则表达式操作。 - 在数据库设计和管理中...

    利用正则表达式对SQL解释的方法

    本文将探讨如何使用正则表达式来解析SQL语句,并通过具体实例来展示这一过程。 #### 正则表达式基础 正则表达式是一种强大的文本匹配工具,可以用来查找、替换以及提取特定模式的字符串。在SQL解析场景中,通过...

Global site tag (gtag.js) - Google Analytics