数据库中如何使用正则表达式
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要为大家展示了"数据库中如何使用正则表达式",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"数据库中如何使用正则表达式"这篇文章吧。示例一:CREA
千家信息网最后更新 2025年12月03日数据库中如何使用正则表达式
这篇文章主要为大家展示了"数据库中如何使用正则表达式",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"数据库中如何使用正则表达式"这篇文章吧。
示例一:
CREATE FUNCTION dbo.RegExpTest ( @source varchar(), --需要匹配的源字符串 @regexp varchar(), --正则表达式 @ignorecase bit = --是否区分大小写,默认为false ) RETURNS bit --返回结果-false,-true AS BEGIN --(成功)或非零数字(失败),是由OLE 自动化对象返回的HRESULT 的整数值。 DECLARE @hr integer --用于保存返回的对象令牌,以便之后对该对象进行操作 DECLARE @objRegExp integer DECLARE @objMatches integer --保存结果 DECLARE @results bit /* 创建OLE 对象实例,只有sysadmin 固定服务器角色的成员才能执行sp_OACreate,并确定机器中有VBScript.RegExp类库 */ EXEC @hr = sp_OACreate 'VBScript.RegExp', @objRegExp OUTPUT IF @hr <> BEGIN SET @results = RETURN @results END /*
以下三个分别是设置新建对象的三个属性。下面是'VBScript.RegExp'中常用的属性举例:
Dim regEx,Match,Matches '建立变量。 Set regEx = New RegExp '建立一般表达式。 regEx.Pattern= patrn '设置模式。 regEx.IgnoreCase = True '设置是否区分大小写。 regEx.Global=True '设置全局可用性。 set Matches=regEx.Execute(string) '重复匹配集合 RegExpTest = regEx.Execute(strng) '执行搜索。 for each match in matches '重复匹配集合 RetStr=RetStr &"Match found at position " RetStr=RetStr&Match.FirstIndex&".Match Value is '" RetStr=RetStr&Match.Value&"'."&vbCRLF Next RegExpTest=RetStr */ EXEC @hr = sp_OASetProperty @objRegExp, 'Pattern', @regexp IF @hr <> BEGIN SET @results = RETURN @results END EXEC @hr = sp_OASetProperty @objRegExp, 'Global', false IF @hr <> BEGIN SET @results = RETURN @results END EXEC @hr = sp_OASetProperty @objRegExp, 'IgnoreCase', @ignorecase IF @hr <> BEGIN SET @results = RETURN @results END --调用对象方法 EXEC @hr = sp_OAMethod @objRegExp, 'Test', @results OUTPUT, @source IF @hr <> BEGIN SET @results = RETURN @results END --释放已创建的OLE 对象 EXEC @hr = sp_OADestroy @objRegExp IF @hr <> BEGIN SET @results = RETURN @results END RETURN @results END --打开高级选项sp_configure 'show advanced options',reconfigure--设置选项打开sp_configure 'Ole Automation Procedures',reconfigure
示例二:
使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它们是同义词)进行匹配测试。
扩展正则表达式的一些字符是:
· '.'匹配任何单个的字符。
· 字符类"[...]"匹配在方括号内的任何字符。例如,"[abc]"匹配"a"、"b"或"c"。为了命名字符的范围,使用一个"-"。"[a-z]"匹配任何字母,而"[0-9]"匹配任何数字。
· " * "匹配零个或多个在它前面的字符。例如,"x*"匹配任何数量的"x"字符,"[0-9]*"匹配任何数量的数字,而".*"匹配任何数量的任何字符。
如果REGEXP模式与被测试值的任何地方匹配,模式就匹配(这不同于LIKE模式匹配,只有与整个值匹配,模式才匹配)。
为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用"^"或在模式的结尾用"$"。
mysql实例:
查询myname中以w开头的数据:

查询myname中以g结尾的数据:

查询包含w的数据:
包含六个字符的数据:
可以使用"{n}""重复n次"操作符:
以上是"数据库中如何使用正则表达式"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
字符
模式
数据
对象
表达式
正则
数据库
内容
数字
数量
篇文章
查询
测试
三个
只有
大小
实例
属性
操作符
示例
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
如何让金蝶专业版连另一台服务器
智慧团建网络安全证书错误
桌面壁纸高清网络安全
虎胆龙威4中的网络技术
北京深谷幽兰网络技术有限公司
百色棋牌软件开发
东城区网络技术咨询职责
移动运营商用的是谁的服务器
服务器为什么缩容
云南虚拟服务器
网络安全学校演讲稿
服务器能插sat硬盘吗
东莞本凡网络技术
怎么用数据库解决ios
文件服务器管理办法
和谐校园 网络安全班会
电子商务和互联网科技有关吗
电信网络安全高管收入
数据库怎么计算员工平均工资
软件连接不上服务器
qq群名称修改服务器繁忙
用友配置连接数据库服务器
百色棋牌软件开发
浅谈网络安全威胁
邦妮德网络技术有限公司
易连达软件开发
sqlcmd 备份数据库
我的世界1.17怎么创造服务器
吃鸡韩服服务器在哪
优化政府管理服务器