- 浏览: 413865 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
skying007:
...
Mysql coalesce() 函数认识和用法 -
kchiu:
关于这个心跳的发送和接收 晚上全是the fuccking s ...
socket心跳检测 -
bjsq618:
你的想法在大的物流公司已经实现了,只不过他们使用是GPS定位
ddd -
jiaguwen123:
2,AuthenticationHandler类的写法
pa ...
xfire客户端 -
sornor:
总结的不错哟!
Java中的函数yield(),sleep()和wait()的区别
l 方括号表达示
方括号表达式
描述
[[:alnum:]]
字母和数字混合的字符
[[:alpha:]]
字母字符
[[:cntrl:]]
控制字符
[[:digit:]]
数字字符
[[:graph:]]
图像字符
[[:lower:]]
小写字母字符
[[:print:]]
打印字符
[[:punct:]]
标点符号字符
[[:space:]]
空格字符
[[:upper:]]
大写字母字符
[[:xdigit:]]
十六进制数字字符
l 元字符
元字符
描述
*?
如果有前面字符串的0次以上出现时匹配
+?
如果有前面字符串的1次以上出现时匹配
{m}
m是整数。它文本中找出给定子表达式的恰好m次出现
{n}?
前面的字符串只出现一次时匹配
{m,}
M是整数。它在文本中找出给定子表达示的至少m次出现
{n,}?
匹配前面的字符串至少n次
{m,n}
M和n是整数。它在文本中找出给定子表达示的m到n次出现
{n,m}
匹配前面的字符串至少到n次,但不多于m次
c
查询操作区分大小写
i
查询操作不区分大水写
m
多行字符串上的查询,在源字符串包含多行时,该查询允许用(^)模式匹配字符串的开始
n
通常匹配单个字符,也可以匹配新行
x
需要忽略正则表达示中的空格字符时,使用参数‘X’
\A
匹配字符串首,而不是行首,因而多行字符串不能匹配每一行
\d
匹配任意数字字符
\D
匹配任意非数字字符
\s
匹配任意空格字符
\S
匹配任意非空格字符
\w
匹配任意字符和数字。该字符和[:alnum:]之间的不同是\w包括下划线字符
\W
匹配任意非空字符串
*
通配符。找出在文本中包含0或多次给定子表达式出现的记录
+
找出在文本中包含1或多次给定子表达式出现的记录
?
找出在文本中包含0次或1次给定子表达示出现的记录
.
匹配文本中的任意字符
^
锚。如果该字符后的表达式出现在行首,则匹配成功
$
锚。如果该字符后的表达式出现在行首,则匹配成功
|
分隔符,使用方法和OR相同
(….)
分组子表达式
l 正则表达式运算符和函数
a) REGEXP_SUBSTR
REGEXP_SUBSTR为指定字符串的一部分与正则表达式建立匹配。语法如下:
其中source_string是必须的。可以是带引号的字符串或者变量。Pattern是用单引号引用的与正则表达式。Start_position指定了在字符串中的准确位置,默认值为1。Occurrence是一个选项,指定在源字符串匹配过程中相对其他字符串,哪个字符串应该匹配。最后,match_parameter也是一个选项,指定在匹配时是否区分大水写。
示例1:
示例2:
示例3
b) REGEXP_INSTR
REGEXP_INSTR返回与正则表达式匹配的字符和字符串的位置。如
c) REGEXP_REPLACE
REGEXP_REPLACE与REPLACE函数类似,提供一种修改与所给正则表达式匹配的字符串的方法。作用包括纠正拼写错误、格式化输入输出的文本。
如电话号码的格式为:719-111-1111。使用REGEX_REPLACER的返回值是:
REGEXP_LIKE运算符与LIKE运算符相似,但是功能更强大,因为它支持使用与此正则表达式与文本进行匹配。语法如下:
REGEXP_LIKE(source_string, pattern, match_parameter)
Source_string可以是文字字符串,如果前面例中的字符串,也可以是包含某些字符串的变量或列。Pattern是要进行匹配的正则表达式。Match_parameter用于指定在匹配时是否区分大小写。
方括号表达式
描述
[[:alnum:]]
字母和数字混合的字符
[[:alpha:]]
字母字符
[[:cntrl:]]
控制字符
[[:digit:]]
数字字符
[[:graph:]]
图像字符
[[:lower:]]
小写字母字符
[[:print:]]
打印字符
[[:punct:]]
标点符号字符
[[:space:]]
空格字符
[[:upper:]]
大写字母字符
[[:xdigit:]]
十六进制数字字符
l 元字符
元字符
描述
*?
如果有前面字符串的0次以上出现时匹配
+?
如果有前面字符串的1次以上出现时匹配
{m}
m是整数。它文本中找出给定子表达式的恰好m次出现
{n}?
前面的字符串只出现一次时匹配
{m,}
M是整数。它在文本中找出给定子表达示的至少m次出现
{n,}?
匹配前面的字符串至少n次
{m,n}
M和n是整数。它在文本中找出给定子表达示的m到n次出现
{n,m}
匹配前面的字符串至少到n次,但不多于m次
c
查询操作区分大小写
i
查询操作不区分大水写
m
多行字符串上的查询,在源字符串包含多行时,该查询允许用(^)模式匹配字符串的开始
n
通常匹配单个字符,也可以匹配新行
x
需要忽略正则表达示中的空格字符时,使用参数‘X’
\A
匹配字符串首,而不是行首,因而多行字符串不能匹配每一行
\d
匹配任意数字字符
\D
匹配任意非数字字符
\s
匹配任意空格字符
\S
匹配任意非空格字符
\w
匹配任意字符和数字。该字符和[:alnum:]之间的不同是\w包括下划线字符
\W
匹配任意非空字符串
*
通配符。找出在文本中包含0或多次给定子表达式出现的记录
+
找出在文本中包含1或多次给定子表达式出现的记录
?
找出在文本中包含0次或1次给定子表达示出现的记录
.
匹配文本中的任意字符
^
锚。如果该字符后的表达式出现在行首,则匹配成功
$
锚。如果该字符后的表达式出现在行首,则匹配成功
|
分隔符,使用方法和OR相同
(….)
分组子表达式
l 正则表达式运算符和函数
a) REGEXP_SUBSTR
REGEXP_SUBSTR为指定字符串的一部分与正则表达式建立匹配。语法如下:
REGEXP_SUBSTR(source_string, pattern, start_position, occurrence, match_parameter)
其中source_string是必须的。可以是带引号的字符串或者变量。Pattern是用单引号引用的与正则表达式。Start_position指定了在字符串中的准确位置,默认值为1。Occurrence是一个选项,指定在源字符串匹配过程中相对其他字符串,哪个字符串应该匹配。最后,match_parameter也是一个选项,指定在匹配时是否区分大水写。
示例1:
SQL> select regexp_substr('The zip code 80831 is for falcon, co','[[:digit:]]{5}' ) REGEXP_SUBSTR from dual; REGEXP_SUBSTR ------------- 80831
示例2:
SQL> select regexp_substr('The zip code 80831 is for falcon, co', '[[:alpha:]]{3,}', 1, 3) REGEXP_SUBSTR from dual; REGEXP_SUBSTR ------------- code
示例3
SQL> select regexp_substr('comments or questions - email feedback@plsqlbook.com', '[[:alnum:]](([_\.\-\+]?[[:alnum:]]+)*)@' || 2 '([[:alnum:]]+)(([\.-]?[[:alnum:]]+)*)\.([[:alpha:]]{2,})') REGEXP_SUBSTR 3 from dual; REGEXP_SUBSTR ---------------------- feedback@plsqlbook.com
b) REGEXP_INSTR
REGEXP_INSTR返回与正则表达式匹配的字符和字符串的位置。如
SQL> select regexp_instr('The zip code 80831 is for falcon, co', '[[:digit:]]{5}') REGEXP_INSTR from dual; REGEXP_INSTR ------------ 14
c) REGEXP_REPLACE
REGEXP_REPLACE与REPLACE函数类似,提供一种修改与所给正则表达式匹配的字符串的方法。作用包括纠正拼写错误、格式化输入输出的文本。
如电话号码的格式为:719-111-1111。使用REGEX_REPLACER的返回值是:
SQL> select regexp_replace('Reformat the phone number 719-111-1111 ...', 2 '[1]?[-.]?(\(?[[:digit:]]{3}\)?)+[- .]?' 3 || '([[:digit:]]{3})[- .]?([[:digit:]]{4})', 4 ' (\1) \2-\3') regexp_replace 5 from dual; REGEXP_REPLACE --------------------------------------------- Reformat the phone number (719) 111-1111 ... S d) REGEXP_LIKE
REGEXP_LIKE运算符与LIKE运算符相似,但是功能更强大,因为它支持使用与此正则表达式与文本进行匹配。语法如下:
REGEXP_LIKE(source_string, pattern, match_parameter)
Source_string可以是文字字符串,如果前面例中的字符串,也可以是包含某些字符串的变量或列。Pattern是要进行匹配的正则表达式。Match_parameter用于指定在匹配时是否区分大小写。
SQL> select ename, job 2 from emp 3 where regexp_like(job, '(clerk|analyst)', 'i'); ENAME JOB ---------- --------- SMITH CLERK SCOTT ANALYST ADAMS CLERK JAMES CLERK FORD ANALYST MILLER CLERK
发表评论
-
abc
2013-03-01 11:21 790http://blog.csdn.net/oypj2010/a ... -
视图查询慢
2012-10-15 23:41 1586我遇到过,单独查询视图很快,但是两个SQL语句查询同一个视图后 ... -
TRANSLATE函数
2012-09-08 23:53 1302TRANSLATE返回将from_string中的每个字符替换 ... -
ORACLE临时表
2012-09-08 09:18 1143CREATE GLOBAL TEMPORARY TABLE T ... -
Oracle正则表达式的用法
2012-09-05 22:26 1249l 方括号表达 ... -
Mysql coalesce() 函数认识和用法
2012-09-02 22:22 11132coalesce()解释:返回参数中的第一个非空表达式(从左向 ... -
ORACLE日期转换
2012-08-18 16:49 1321ORACLE中日期转换SELECT TO_CHAR(SYS ... -
本地索引和全局索引区别
2011-09-24 12:36 9937表可以按range,hash,list分区,表分区后,其上的索 ... -
将mysql非分区表转换为分区表
2011-09-22 23:54 1519查看表的分布状况 mysql> select count ... -
oracle中的sql%found sql%notfound和sql%rowcount
2011-01-05 22:15 1425当执行一条DML语句后,DML语句的结果保存在四个游标属性中, ... -
SQLCODE和SQLERRM
2011-01-05 22:09 1387Oracle内置函数SQLCODE和SQLERRM是 ... -
in|out|in out参数模式
2011-01-05 22:06 1376Oracle 过程中定义了in|out|in out3中参数模 ... -
oracle trunc & round区别
2010-12-29 22:59 2613一、Oracle中的Round和Trunc: 如同对数字进行 ... -
truncate与delete区别
2010-12-29 22:51 933区别: 1、在功能上,truncate是清空一个表的 ... -
CONNECT BY LEVEL 实现12月统计数据
2010-11-29 22:44 1059create table test(j varchar2(10 ... -
ORACLE 百万行数据查询优化
2010-11-13 14:15 11751.对查询进行优化,应尽量避免全表扫描,首先应考虑在 wher ... -
oracle10g中的wm_concat
2010-11-13 14:02 1096wmsys.wm_concat这个函数,它的作用是以',' ... -
Oracle中connect by...start with...的使用
2010-10-26 22:03 1066一、语法 大致写法:sel ... -
什么是ETL
2010-10-17 17:34 2317ETL即数据抽取(Extract)、转换(Transform) ... -
oracle创建同义词以及赋予权限
2010-10-11 23:24 3077oracle 有 a用户;b用户;b用户有表b1,现在要通过a ...
相关推荐
### Oracle正则表达式详解(用法+实例) #### 一、正则表达式简介 正则表达式是一种用于匹配字符串中字符组合的工具。它由一个或多个字符及特殊的字符元组成,能够帮助我们执行复杂的字符串搜索和替换任务。在...
### Oracle正则表达式函数全面解析 #### 一、引言 在数据库处理文本数据时,经常需要用到模式匹配。Oracle数据库提供了丰富的正则表达式函数,这些函数可以帮助开发者更高效地进行文本匹配、搜索和替换等操作。本文...
PDF文件"Oracle正则表达式函数介绍.pdf"很可能详细介绍了这些函数的使用方法、模式语法和实例,而"Oracle_正则表达式.txt"可能包含了更多示例或使用技巧。对于学习和理解Oracle正则表达式,这两个文件都是宝贵的资源...
### 正则表达式在Oracle中的应用 #### 引言 在现代软件开发过程中,数据库查询是一项基础且频繁的操作。为了提升查询效率和准确性,正则表达式作为一种强大的模式匹配工具被广泛应用于数据库查询中。传统的SQL语句...
### Oracle正则表达式 #### 一、简介 在Oracle 10g版本开始,数据库引入了对正则表达式的支持。正则表达式是一种强大的工具,用于模式匹配和文本处理,可以用来搜索、替换、提取等操作。通过正则表达式,用户可以...
### Oracle 10g 对正则表达式的支持分析 #### 一、引言 随着信息技术的发展,数据库管理系统(DBMS)的...掌握Oracle 10g 中正则表达式的使用方法,可以极大地提高开发者的生产力,同时也能确保数据的质量和一致性。
本详细手册涵盖了ORACLE+PLSQL、JavaScript以及C#三种语言环境下的正则表达式用法,旨在提供全面而深入的学习资源。 1. ORACLE+PLSQL正则表达式: 在Oracle数据库中,PLSQL(Procedural Language/Structured Query ...
- 提高编程效率:与传统的编程方法相比,通过正则表达式可以在几行代码内实现复杂的文本处理任务,如电子邮件地址的验证。 **缺点**: - 学习成本:正则表达式语法需要学习,对于初学者来说可能会有一定的难度。 - ...
虽然标准SQL不直接支持正则表达式,但许多数据库系统如MySQL、PostgreSQL、Oracle和SQL Server提供了扩展函数来实现正则表达式的功能,如MySQL的`REGEXP`或SQL Server的`PATINDEX`。 在毕业设计中,正则表达式是一...
Oracle正则表达式是用于进行字符串搜索和匹配的工具,它允许用户在数据库中使用强大的模式匹配功能。Oracle数据库提供了正则表达式相关的函数,包括regexp_like()、regexp_replace()、regexp_substr()和regexpinstr...
使用`Pattern.compile()`方法编译正则表达式字符串,例如:`Pattern pattern = Pattern.compile("abc");` 3. **Matcher类** - `Matcher`类用于对输入字符串进行模式匹配。通过`pattern.matcher(input)`创建Matcher...
2. **Oracle正则表达式函数** - **REGEXP_LIKE**: 这个函数类似于传统的LIKE,但支持正则表达式。例如,`WHERE column REGEXP_LIKE 'abc*'`将匹配以"abc"开头的所有字符串。 - **REGEXP_SUBSTR**: 用于从字符串中...
Jakarta ORO(Oracle RegEx)库是Apache软件基金会的一个项目,它是一个高性能的Java正则表达式实现,受到了Perl 5正则表达式的启发。在Java中,`java.util.regex`包提供了正则表达式的核心支持,而Jakarta ORO则...