oracle正则表达式语法介绍及实现手机号码匹配方法
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 |
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
转载于:
https://www.cnblogs.com/wanghonghu/archive/2012/05/12/2497392.html
oracle正则表达式语法介绍及实现手机号码匹配方法的更多相关文章
- C#正则表达式语法规则详解
正则表达式通常包含字母文本(Literaltext)和元字符(metacharacter) 字母文本指的是普通文本如"abcde"可匹配字符串中任何包含"abcde&qu ...
- oracle 正则表达式 匹配
oracle 正则表达式 在实际应用中,想排除带有中文的字段值: select h.froomnumber from t_broker_house h where REGEXP_LIKE(froomn ...
- Oracle存储过程基本语法介绍
Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ...
- Delphi 正则表达式语法(9): 临界匹配 - 也叫"预搜索"与"反向预搜索"
Delphi 正则表达式语法(9): 临界匹配 - 也叫"预搜索"与"反向预搜索" //匹配右边 var reg: TPerlRegEx; begin ...
- Delphi 正则表达式语法(7): 匹配转义字符
Delphi 正则表达式语法(7): 匹配转义字符 // ? 号的意义是匹配 0-1 次, 如果需要匹配 ? 怎么办 var reg: TPerlRegEx; begin reg := TPe ...
- Delphi 正则表达式语法(6): 贪婪匹配与非贪婪匹配
Delphi 正则表达式语法(6): 贪婪匹配与非贪婪匹配 //贪婪匹配 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); ...
- Delphi 正则表达式语法(3): 匹配范围
Delphi 正则表达式语法(3): 匹配范围 // [A-Z]: 匹配所有大写字母 var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(n ...
- Oracle正则表达式
Oracle正则表达式 正则表达式具有强大.便捷.高效的文本处理功能.能够添加.删除.分析.叠加.插入和修整各种类型的文本和数据.Oracle从10g开始支持正则表达式. 下面通过一些例子来说明 ...
- java 正则表达式语法
java 正则表达式语法 标签: 正则表达式javawindowsvbscriptscripting电话 2012-05-20 10:11 6705人阅读 评论(1) 收藏 举报 分类: javaS ...
随机推荐
- P3756 [CQOI2017]老C的方块
题目链接 看到网格图+最优化问题,当然要想黑白染色搞网络流.不过这道题显然无法用黑白染色搞定. 仔细观察那四种图形,发现都是蓝线两边一定有两个格子,两个格子旁边一定还有且仅有一个格子.因此我们可以这么 ...
- .Net Core in Docker极简入门(上篇)
目录 前言 开始 环境准备 Docker基础概念 Docker基础命令 Docker命令实践 构建Docker镜像 Dockerfile bulid & run 前言 Docker 是一个开源 ...
- 用windbg查看dmp文件,定位bug位置
windbg + .dmp + .pdb + 源代码,可以看到是哪个代码崩溃的 设置符号文件所在路径 File->Symbol File Path... 在输入框中填入.pdb文件所在的文件夹路 ...
- DJANGO-天天生鲜项目从0到1-009-搜索功能实现(django-haystack+whoosh+jieba)
本项目基于B站UP主‘神奇的老黄’的教学视频‘天天生鲜Django项目’,视频讲的非常好,推荐新手观看学习 https://www.bilibili.com/video/BV1vt41147K8?p= ...
- 图片懒加载、ajax异步调用数据、lazyload插件的使用
关于这个效果还是很简单的,样式部分我就不多说了,我就简单的写了一下布局, 这是css样式 我们先说一下实现的原理. 我们都知道在于图片的引入,我们都是用src来引入图片地址.从而实现图片的显示.那我们 ...
- phpMyAdmin历史漏洞复现
简介 phpMyAdmin是一个非常受欢迎的基于web的MySQL数据库管理工具.它能够创建和删除数据库,创建/删除/修改表格,删除/编辑/新增字段,执行SQL脚本等 复现三个古老漏洞 phpMyAd ...
- 前端学习(一):Html
进击のpython ***** 前端学习--HTML HTML全称HyperText Mackeup Language,超文本标记语言 网页的超链接,图片,音频,视频都可以超文本 标记就相当于你在本子 ...
- 使用java实现希表的基础功能
用java代码完成哈希表数据结构的简单实现, 以公司雇员的添加修改作为模拟实例 具体代码如下: package com.seizedays.hashtable; import java.util.Sc ...
- ✨Shell脚本实现Base64 加密解密
加密算法 # !/bin/bash # 全局变量 str="" base64_encode_string(){ # 源数据 source_string=$1 echo " ...
- Blash数组 c++
//输入一个数作为Blash数组的根, //对于该数组的每一个数x,x*2+1 x*3+1均在该数组 //并且该数组没有其他数字 //该数组升序排列 //输入a,n 输出该数组第n个数 // // # ...