select * from customer where email regexp '@126.com';
详细信息参考
/* 本文来自Cory Koski。Cory写道:“我最近遇到一个问题,就是试图在数据库域中搜索一个正则表达式。还没有一个版本的SQLServer内部支持正则表达式,但我发现了一个将正则表达式的所有优点添加到你的T_SQL应用的方法。为了更容易的使用正则表达式,我们可以使用自定义函数(User Defined Function, UDF)来帮助我们并使工作简洁。”
在这个解决方案中,我们需要SQL Server 2000或更高。我们还需要确定机器中有VBScript.RegExp类库,这随大多数Windows 2000 servers中的Windows Scripting包配有。若你正在使用一个更早版本的Windows,你必须为你的操作系统下载最新版的Windows Scripting。
自定义函数
下面是我的自定义函数,可用来在源字符串中搜索一个正则模式表达式。*/
ALTER FUNCTION dbo.find_regular_expression
(
@source varchar(5000),
@regexp varchar(1000),
@ignorecase bit = 0
)
RETURNS bit
AS
BEGIN
DECLARE @hr integer
DECLARE @objRegExp integer
DECLARE @objMatches integer
DECLARE @objMatch integer
DECLARE @count integer
DECLARE @results bit
EXEC @hr = sp_OACreate 'VBScript.RegExp', @objRegExp OUTPUT
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @hr = sp_OASetProperty @objRegExp, 'Pattern', @regexp
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @hr = sp_OASetProperty @objRegExp, 'Global', false
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @hr = sp_OASetProperty @objRegExp, 'IgnoreCase', @ignorecase
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @hr = sp_OAMethod @objRegExp, 'Test', @results OUTPUT, @source
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @hr = sp_OADestroy @objRegExp
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
RETURN @results
END
ALTER 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
i.e.
select top 1 * from hc_info_email where dbo.find_regular_expression(hc_rep_email,'@sohu|yahoo.com',0) != 0;
分享到:
相关推荐
本文将详细介绍在MySQL中用正则表达式替换数据库中的内容的方法。 MySQL正则表达式替换的基本语法 ----------------------------- 在MySQL中,用正则表达式替换数据库中的内容主要通过使用REGEXP和REPLACE函数来...
在清理字符串的过程中,我们可能会用到以下几个重要的正则表达式模式: 1. '\s':匹配任何空白字符,包括空格、制表符、换行符等。 2. '\s(?=\s)':匹配被空白字符跟随的空白字符,利用正则表达式的前瞻断言功能,...
`replace`方法用于在字符串中用一些字符替换另一些字符,或者替换一个与正则表达式匹配的子串。使用正则表达式`varpattern=/["]+/g;`,其中的`g`标志表示全局匹配,即匹配字符串中的所有双引号,然后将匹配到的双...
因此我们在将这些信息保存到网站的数据库之前,要对这些用户所输入的信息进行数据的合法性校验,以便后面的程序可以安全顺利的执行。所以我们一般会在后端编写一个ASP的校验程序来分析用户输入的数据是否是合法的。 ...
这里的关键技术包括WebClient类的使用、正则表达式的应用以及数据的数据库存储。下面将详细阐述这些知识点。 首先,`WebClient`是.NET Framework中用于下载文件和网页的类,它提供了异步和同步的HTTP请求方法。在这...
- `tempQuery`:假设这里已经有一个预先定义好的`TADOQuery`对象,它连接到了数据库并执行了一个查询。 - `Result`:用于存储从`tempQuery`中获取的数据。 2. **字符串替换**: - 循环遍历字符串中的每个字符。 ...
这些文件名揭示了多个编程和开发相关的知识点,涵盖了前端设计、正则表达式、数据库操作、用户界面交互、时间处理以及代码优化等多个方面。以下是详细解释: 1. **Dreamweaver常用技巧.txt**:Dreamweaver是Adobe的...
总结来说,这个示例展示了如何使用Python3结合正则表达式和MySQL数据库进行网络爬虫开发,实现从网页抓取数据并存储到数据库的过程。这对于数据分析、信息监控以及自动化任务等领域非常有用。不过,进行网络爬虫时,...
应用部分则指向了数据库在实际项目中的使用,涉及数据模型设计、查询优化、事务管理等方面。 在文档内容中,可以识别出如下知识点: 1. **Microsoft SQL Server 2005**: 这是微软公司发布的一款关系型数据库管理...
正则表达式.pdf** - 正则表达式是用于文本模式匹配的强大工具,在PHP中用于数据验证、搜索和替换等场景。这份资料将深入讲解正则表达式的语法和用法。 10. **6.数组.pdf** - 数组是存储多个值的数据结构,PHP提供了...
6. **Regex(正则表达式)**:正则表达式是数据匹配和提取的强大工具,可以用来从文本中精确地抽取特定格式的信息。 在实际的采集类设计中,通常会包含以下功能: - **初始化配置**:设置URL、请求头、超时时间等...
4. **正则表达式匹配**:如果位置信息不在结构化的HTML标签内,可能需要通过正则表达式来匹配。`re`库提供了一种强大的方式来查找和提取字符串中的模式,如城市名、经度和纬度等。 5. **处理JSON数据**:微博API...
2. **选择关联类型**:LoadRunner支持多种关联类型,如正则表达式关联、数据库关联、XML关联等。选择最合适的关联类型取决于动态数据的格式。 3. **创建关联**: - 在Action函数中,找到包含动态数据的步骤,右键...
正则表达式对数据的解析在爬虫开发中是不可或缺的一个步骤。 3. 数据入库和程序部署: 获取到数据之后,需要将数据存储到数据库中,以便进一步分析或后期使用。在存储数据之前,需要建立好数据库结构,根据需求设计...
此外,正则表达式也是数据清洗中的利器,能有效地进行字符串匹配和替换。 然后,数据分析是理解数据的关键。这可能涉及到统计学知识,如描述性统计、假设检验、回归分析等。Python的NumPy库提供了强大的数值计算...
4. **正则表达式**:在处理网页文本时,正则表达式(regex)常用于模式匹配和数据提取。熟练掌握正则表达式的使用能够提高数据清洗的效率。 5. **网络爬虫框架**:如`Scrapy`框架提供了强大的功能,包括中间件、...
正则表达式在JSP中用于数据验证,如输入格式检查。`<jsp:include page="regex.jsp" flush="true">`可以引入包含正则表达式验证的页面。`java.util.regex.Pattern`和`Matcher`类是Java中处理正则的关键工具。 4. **...