MsSql

关注公众号 jb51net

关闭
首页 > 数据库 > MsSql > SQL字符串正则表达式

SQL中的字符串正则表达式常见示例代码

作者:宇后初晴_da

这篇文章主要介绍了SQL中字符串正则表达式常见示例的相关资料,包含元字符、转义字符等,广泛应用于表单验证、文本处理及SQL中的字符串查找替换,如邮箱、日期、手机号匹配,需要的朋友可以参考下

正则表达式的基本概念

所谓正则表达式(Regular Expression,简称regexregexp)是一种用于匹配字符串中字符组合的模式描述工具。它通过一系列特殊的字符和符号来定义一种约定俗成的规则,用于查找、匹配、替换或验证字符串中的特定内容。在表单提交验证、路由映射、文本处理等方面大放异彩,基本上所有编程语言都有特定的一套正则机制以供程序员使用。

正则表达式的基础字符

正则表达式由普通字符和特殊符号组成,一共可以分为两种大类。首先是元字符,由特殊符号组成,代表的是正则匹配中的匹配准则。转义字符通常由特殊符号\+字符组成,是某种字符表达类型的统称,当匹配内容中本身带有\时,需要再添加一个转义,例如\\

元字符

转义字符

常见的正则示例

\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b

解释:匹配以字母、数字、点号、下划线等开头(可出现一次或多次),后跟@,再跟转义的.,最后以域名和顶级域名(字母且至少有两个字符)结尾。

\d{4}-\d{2}-\d{2}

解释:YYYY-MM-DD,匹配四个数字,跟-,后跟两个数字,再跟-,最后又是两个数字。

^1[3-9]\d{9}$

解释:以1开头,第二位是39之间的数字,后面跟着九位数字结尾。

<[^>]+>(.*)</[^>]+>

解释:<xxx>…</xxx>。

SQL中应用正则表达式

字符串查找

在SQL中若要应用正则表达式完成字符串查找功能,筛选出满足条件的记录时:

SELECT *
FROM 表名
WHERE 字符串字段 REGEXP '正则表达式';

注意:仅字符串字段支持使用REGEXP+正则语句进行查找功能。

字符串替换

在SQL中若要应用正则表达式完成字符串替换功能时:

SELECT regexp_replace(str, pattern, replace_str, occurrence)
FROM 表名;

其中:

常见案例

例题: 查找有效邮箱的用户

一个有效的电子邮件具有前缀名称和域,其中:

代码:

SELECT user_id, name, mail
FROM Users
WHERE mail REGEXP '^[a-zA-Z][a-zA-Z0-9_.-]*\\@leetcode\\.com$';

总结 

到此这篇关于SQL中字符串正则表达式常见示例代码的文章就介绍到这了,更多相关SQL字符串正则表达式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文