REGEXP_SUBSTR 给我解释一下谢谢

us_yunleiwangdb 2011-01-28 03:12:00
REGEXP_SUBSTR(srcstr, pattern, position, occurrence, modifier)

__srcstr :检索字符串

__pattern :匹配模式

__position :搜索srcstr的起始位置(默认为1)

__occurrence:搜索第几次出现匹配模式的字符串(默认为1)

__modifier :检索模式('i'不区分大小写进行检索;'c'区分大小写进行检索。默认为'c'。)




select regexp_substr(' http://blog.chinaunix.net/u/30637/showart_1009927.html', '[a-z_0-9]+', 35) from dual;
----
showart_1009927 --35?????
select regexp_substr(' http://blog.chinaunix.net/u/30637/Showart_1009927.html', '[a-z_0-9]+', 35, 1, 'c')
from dual;
------------------------------
howart_1009927 --35?????
select regexp_substr(' http://blog.chinaunix.net/u/30637/Showart_1009927.html', '[a-z_0-9]+', 35, 2, 'c') from dual;
------------------------------
html----为什么是HTML ,为什么要写35
这里的 35 是指什么意思呢,难道是从第35次开始检索码
...全文
143 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xman_78tom 2011-01-28
  • 打赏
  • 举报
回复
select regexp_substr(' http://blog.chinaunix.net/u/30637/showart_1009927.html', '[a-z_0-9]+', 35) from dual;
从 ' http://blog.chinaunix.net/u/30637/Showart_1009927.html' 字符串中的第 35 个字符处开始向后搜索,即 'Showart_1009927.html'。

select regexp_substr(' http://blog.chinaunix.net/u/30637/Showart_1009927.html', '[a-z_0-9]+', 35, 1, 'c') from dual;
搜索 'Showart_1009927.html' 字符串中第 1 次与 '[a-z_0-9]+' 模式匹配的字符串。

select regexp_substr(' http://blog.chinaunix.net/u/30637/Showart_1009927.html', '[a-z_0-9]+', 35, 2, 'c') from dual;
搜索 'Showart_1009927.html' 字符串中第 2 次与 '[a-z_0-9]+' 模式匹配的字符串。

'[a-z_0-9]+' 模式表示“长度从 1 到 n 的,只包含字母、数字和下划线的字符串”
us_yunleiwangdb 2011-01-28
  • 打赏
  • 举报
回复
我明白了,明白了,大家不用回复了

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧