ORACLE匹配手机号,Oracle正则表达式语法介绍及实现手机号码匹配方法
导读:本文共1324.5字符,通常情况下阅读需要4分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: Oracle10g提供了在查询中使用正则表达的功能,它是通过各种支持正则表达式的函数在where子句中实现的。本文将简单的介绍oracle正则表达式常用语法,并通过一个手机特号匹配的例子演示正则表达式的使用。 1、oracle正则表达常用语法 定位元字符 元字符 说明 ^ 使表达式定位至一行的开头 $ 使表达式定位至一行的末尾 量词或重复操作符 量词 说明 * 匹配 0 次或更多次 ? 匹配 0... ...
目录
(为您整理了一些要点),点击可以直达。Oracle10g提供了在查询中使用正则表达的功能,它是通过各种支持正则表达式的函数在where子句中实现的。本文将简单的介绍oracle正则表达式常用语法,并通过一个手机特号匹配的例子演示正则表达式的使用。
1、oracle正则表达常用语法
定位元字符
元字符
说明
^
使表达式定位至一行的开头
$
使表达式定位至一行的末尾
量词或重复操作符
量词
说明
*
匹配 0 次或更多次
?
匹配 0 次或 1 次
+
匹配 1 次或更多次
{m}
正好匹配 _m_ 次
{m,}
至少匹配 _m_ 次
{m, n}
至少匹配 _m_ 次但不超过 _n_ 次
POSIX 字符类
字符类
说明
[:alpha:]
字母字符
[:lower:]
小写字母字符
[:upper:]
大写字母字符
[:digit:]
数字
[:alnum:]
字母数字字符
[:space:]
空白字符(禁止打印),如回车符、换行符、竖直制表符和换页符
[:punct:]
标点字符
[:cntrl:]
控制字符(禁止打印)
[:print:]
可打印字符
模式匹配
项目
说明
\n
n为一个 1 到 9 之间的数字,反斜线匹配之前的用括号括起来的第n个子表达式。
()
子表达式。
[]
字符列表
REGEXP_LIKE 函数
语法
说明
REGEXP_LIKE(source_string, pattern
[, match_parameter])
source_string 支持字符数据类型(CHAR、VARCHAR2、CLOB、NCHAR、NVARCHAR2 和 NCLOB,但不包括 LONG)。pattern 参数是正则表达式的另一个名称。match_parameter 允许可选的参数(如处理换行符、保留多行格式化以及提供对区分大小写的控制)。
2、oracle正则表达匹配手机特号
尾号四连号:([0123456789])\1\1\1如:13498212222、13613431111
sql:select * from tb_phone where REGEXP_LIKE(phone_no,'([0123456789])\1\1\1‘)
尾号四连顺:(0123|1234|2345|3456|4567|5678|6789)如:13576531234、13623432345
尾号倒四连顺:(9876|8765|7654|6543|5432|4321|3210) 如:13512329876、13676987654
尾号00XX:00[[:digit:]][[:digit:]]如:13512320023、13512320035
尾号AABB:([[:digit:]])\1([[:digit:]])\2 如:13567545566
尾号ABAB:([[:digit:]]{2})\1如:13545341212
尾号AAAB:([[:digit:]])\1\1[[:digit:]] 如:13564326667
转载于:
ORACLE匹配手机号,Oracle正则表达式语法介绍及实现手机号码匹配方法的详细内容,希望对您有所帮助,信息来源于网络。