数据库正则表达式问题 20

regexp_substr(t1.GRADE,'[0-9,\.]+',1,1)谁能帮我解释一下这个式子最好详细点如果是3(54335*453)只提取括号前数据如何写... regexp_substr(t1.GRADE,'[0-9,\.]+',1,1)
谁能帮我解释一下这个式子 最好详细点
如果是 3(54335*453) 只提取括号前数据如何写
展开
 我来答
bwcui
2013-04-16 · TA获得超过188个赞
知道小有建树答主
回答量:149
采纳率:0%
帮助的人:117万
展开全部
Oracle 正则表达式函数,
第一个是输入的字符串

第二个是正则表达式
第三个是标识从第几个字符开始正则表达式匹配。(默认为1)
第四个是标识第几个匹配组。(默认为1)
第五个是是取值范围:
i:大小写不敏感;
c:大小写敏感;
n:点号 . 不匹配换行符号;
m:多行模式;
x:扩展模式,忽略正则表达式中的空白字符。

regexp_substr(t1.GRADE,'[0-9,\.]+',1,1) 就是从t1.GRADE中的第一个字符开始查找第一个匹配正规表达式的值,表达式符合:[0-9,\.]+,即允许是0123456789,.十二个字符中的任意一个或多个组合,且长度必须大于1。

3(54335*453)如何只匹配括号前的数据可以这样:

regexp_substr(t1.GRADE,'[0-9]+',1,1),这个也要看括号前有哪些字段有关,要看具体的情况,我这里认为括号前全是数字。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式