常见函数:

REGEXP_LIKE

LIKE语句的正则表达式,

REGEXP_REPLACE

用执行字符串替换源文本中与正则表达式匹配的字符串,

REGEXP_INSTR返回源字符串中首次匹配正则表达式的起始位置,

REGEXP_SUBSTR​

返回源串中匹配正则表达式的子字符串

正则表达式由标准的元字符(metacharacters)所构成:

字符

[[:alpha:]]任何字母。[A-Za-z]

[[:digit:]]任何数字。[0-9]

[[:alnum:]]任何字母和数字。[A-Za-z0-9]

[:blank:]   [ ],标准是空格和TAB,但Oracle里只有空格!

[:cntrl:]   CONTROL键

[:graph:]  即所有可见字符,不包括空格

[:print:]  可打印字符 ,即空格+所有可见字符

[[:space:]] 空白字符。

[[:punct:]] 任何标点符号。

[[:upper:]] 任何大写字母。[A-Z]

[[:lower:]] 任何小写字母。[a-z]

[[:xdigit:]]任何16进制的数字,相当于[0-9a-fA-F]。

[:class:]   字符类。class如alnum、digit等。

[.element.]

整理类。受NLS_SORT影响。将多字节字符当作单字节字符看待。如在西班牙语中ch、ll都是用多字节表示的单字节。

[=char=]

等同类。在当前语言(Locale)下,匹配所有的属于相同的POSIX等同类字符指定的字符。如在西班牙语中,[[=n=]]指定了等同类字符n,它可以匹配El

Ni?o中的N和 ?.

边界符集合

^   每一行的开头,单行模式下等价于字符串的开头

$   每一行的结尾,单行模式下等价于字符串的结尾

在单行模式下,^和\A等价,$和\Z等价。

重复次数集合

*   匹配零次或多次--尽可能多的次数

?   零次或一次

+   一次或多次

{m} {m}?正好m次,贪婪与非贪婪一样的

{m,}    {m,}?至少m次

{m, n}  {m, n}?最少m最多n次

在上述字符后加?,如:*?,即为非贪婪模式。

贪婪模式会获取尽可能多的字符,而非贪婪模式会获取尽可能少的字符

组合操作符

[…]

方括号内任意字符或字符集合中的一个。在其中所有的操作符号都被视为普通符号,但以下除外:

★范围操作符:-

但当"-"位于字符列表的第一个或最后一个字符时,或位于范围的结尾时,会被当作"-"本身来看待。

当右方括号"]"出现在列表的第一个位置时,它会被当作"]"本身来处理。

[^…]

方括号内^为第一个字符时,表示与其后所有字符都不匹配的字符

(…)

圆括号,将复杂表达式当作单一表达式来处理

..|..    或

abc

和。直接将字符连在一起写

匹配操作符

\n

即后向引用。n为1~9,标识由圆括号里取得的匹配字符串。方向是从左到右。

转义操作符

\

将其后紧跟着的操作字符当作普通字符看待。

例如 abc*def 可以匹配

abdef或abcccdef等,但无法匹配abc*def,后者需要abc\*def才能匹配

示例:

​1.提取纯数字

select  abc from

table where  REGEXP_LIKE

(abc,'^[[:digit:]]+$') group by abc;

2.替换交换位置

select regexp_replace('Sang Cen', '(.*) (.*)',

'\2, \1') as reversed_name from

dual;​

​3.截取第一个大写字母

select regexp_substr('Sang Cen',

'^[[:upper:]]') from DUAL

4.​返回try或trying或tried或tries的位置

SELECT regexp_instr('We are trying to make the subject

easier.','tr(y(ing)?|(ied)|(ies))') resultnum FROM

dual;

oracle 汉字正则表达式,oracle SQL篇-正则表达式相关推荐

  1. oracle insert汉字出错,Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名...

    本文主要向大家介绍了Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. Oracle数据库,用 ...

  2. MySQL,Oracle系统学习,以及SQL语言-----数据库篇学习笔记

    Handouts MySQL和Oracle系统学习 一. 开篇立意(~~~~必看,有说明~~~~) 二. Oracle 篇 数据库存在之意义 基础概念(必须看,后面不会说明!!!) Oracle管理系 ...

  3. 体温正则表达式 oracle

    体温的正则表达式 oracle ALTER TABLE 护理记录单 ADD CONSTRAINT 体温格式检查 CHECK(REGEXP_LIKE(体温,'([0]{1})$|^([2-4]+)([0 ...

  4. oracle中fn_getpy函数,SQL Server根据汉字笔划和取得拼音首字母进行排序

    select a.cnword from #t1 a left join #t1 b on a.id=b.id-1 and a.code where b.code is null order by a ...

  5. 每周一书《Oracle 12 c PL(SQL)程序设计终极指南》

    本周为大家送出的书是<Oracle 12 c PL(SQL)程序设计终极指南>,此书由机械工业出版社出版, 孙风栋,王澜,郭晓惠 著. 内容简介: <Oracle 12c PL/SQ ...

  6. java搭配oracle,Java联接Oracle(高级篇)

    Java连接Oracle(高级篇) 在项目工程目录下新建一个config文件夹,在config文件夹里创建一个database.properties文件,配置相关Oracle数据库的driver.ur ...

  7. oracle 处理过程,Oracle SQL语句处理过程(转载)

    一般来说,数据库处理SQL都会经过三个过程:分析.执行.返回结果,比如COGNOS ReportNet通过拖放式完成表现层后,还是会自动生成SQL,然后将SQL传递到ORACLE进行处理. 1.分析 ...

  8. oracle将千万行查询优化到一秒内,oracle下一条SQL语句的优化过程(比较详细)

    oracle下一条SQL语句的优化过程(比较详细) 更新时间:2010年04月14日 23:56:49   作者: 很简单的一次调整,语句加了适当的索引后性能就有大幅的提升.当时看到这条语句的时候,第 ...

  9. c oracle 多条语句,Oracle 实践:如何编写一条 sql 语句获取数据表的全部索引信息(兼容 Oracle 19c、Oracle 11g)...

    一.引言 部门使用 Oracle 已经有一些时日,最近在工作中遇到了这么一个需求: 我们希望拿到某些数据表的全部索引信息,对索引信息进行检查,检查是否有漏掉没有创建的索引 这个需求,核心的点在于,我需 ...

最新文章

  1. Windows Azure Platform Introduction (2) 云计算的分类和服务层次
  2. mysql 修改单表导入大小_MySQL更改大库大表存储引擎方案
  3. linux mint 自动更新设置,如何升级到Linux Mint 19.1
  4. 海量数据的topK问题
  5. matlab怎么画二维热力图_Tableau画日历热力图
  6. spring,mybatis事务管理配置与@Transactional注解使用[转]
  7. 在JavaScript中将字符转换为ASCII代码
  8. C++11 static_assert(转载)
  9. 服务器ie浏览器访问不了网站,IE浏览器打不开网站网页怎么办 IE无法加载网页解决方法。...
  10. cad转excel插件c2e_cad表格转换器2016
  11. 第二章 感受Mac 之美-惊艳从Mac 外设开始,一周后的使用感受
  12. thx是什么意思_在高数中thx表示什么意思-thx-数学-别杂南同学
  13. 爱因斯坦论教育,放在首位的该是什么?1936年美国高等教育300周年会(公号回复“爱因斯坦教育”下载PDF典藏版,欢迎转发赞赏)
  14. python数据分析与挖掘(二十七)--- Pandas量化--股票基础知识
  15. python 修改图片尺寸_用Python更改图片尺寸大小
  16. 刘强东终于向自己的兄弟下手了!
  17. 多元线性回归matlab代码例题_matlab多元线性回归
  18. 盘点丨2017年国内最酷的10家大数据创业公司
  19. 信息熵的由来、相关概念及思考
  20. Windows界面编程_Miniblink(3) 事件绑定

热门文章

  1. h5如何播放flv格式的视频
  2. 运动防水防汗耳机哪个牌子好、最好的防水运动耳机排行推荐
  3. C++/C++11中std::transform的使用
  4. [生活]志存高远,奋发图强
  5. nubia z5s mini 安卓4.2.2 google 服务包
  6. 图文详解:阿里宠儿【小兔】RabbitMQ的养成攻略
  7. 丝路离线辅助介绍以及离线验证说明
  8. Altium Designer相关备份分享
  9. First Markdown Bolg
  10. 一个计算机几个用户登录,一台电脑登录多个头条账号的方法,用这个软件很方便!...