oracle手机号码检验字数_oracle正则表达式匹配手机特号
Oracle10g提供了在查詢中使用正則表達的功能,它是通過各種支持正則表達式的函數在where子句中實現的。本文將簡單的介紹oracle正則表達式常用語法,并通過一個手機特號匹配的例子演示正則表達式的使用。
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 允許可選的參數(如處理換行符、保留多行格式化以及提供對區分大小寫的控制)。
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正则表达式匹配手机特号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: curl命令调用接口
- 下一篇: 金鉴实验室 PCBA切片分析 PCB检测