regexp_like判断是否含有非数字(正则表达式)
一、regexp_like函数
1、语法
REGEXP_LIKE(source_char,pattern[,match_option]) //正则表达式匹配函数 REGEXP_REPLACE(source_char,pattern[,replacestr[,position[,occurrence[,match_option]]]]) //正则表达式替换函数 REGEXP_INSTR(source_char,pattern[,position[,occurrence[,return_option[,match_option]]]]) //正则表达式返回字符出现位置 REGEXP_SUBSTR(source_char,pattern[,position[,occurrence[,match_option]]]) //正则表达式截取某字符串 REGEXP_COUNT(source_char,pattern[,match_option]) //正则表达式统计字符串出现的次数,11g以后的版本 //source_char是源数据 //pattern是表达式 //match_option为c,区分大小写,i是不分大小写(ignore) //replacestr是替换的字符 //position是开始位置 //occurrence是第几次出现 //return_option为0是返回该字符出现的位置,不为0时返回该字符出现的下一个位置
2、正则表达式
(1)、[] 元字符表示 范围
①[.0-9] 表示 小数点和0至9范围内 的字符
②[^.0-9] 表示非 小数点和0至9范围内 的字符
(2)、^ 元字符有两种含义
①^[.0-9]匹配以 .0-9开头的字符,^ 匹配字符的开始位置
②[^.0-9]匹配非 .0-9的字符
(3)、* 运算符表示 匹配前面的子表达式0次或多次
(4)、+ 运算符表示 匹配前面的子表达式1次或多次
(5)、? 运算符表示 匹配前面的子表达式0次或1次
(6)、$ 运算符表示 匹配字符的结束位置 ,[.0-9]$ 匹配 .0-9结尾的字符
3、测试
(1)、匹配非数字
select (case when regexp_like ('.11','([^.0-9])+') then 1 else 0 end)test from dual //匹配 .0-9 范围内的字符,返回1表示是非数字,0表示是数字。.11可以当做是数字
(2)、测试小数点开头
select 5*'.11' test from dual
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示