- 浏览: 817254 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (413)
- 项目 (12)
- 统计分析 (3)
- java (7)
- jquery (15)
- oracle (33)
- 面试题 (8)
- 排序算法 (3)
- 蛇形矩阵算法 (3)
- 字符串 (1)
- ICU分析插件 (1)
- html5 (1)
- Ubuntu (4)
- Linux (4)
- memcache (2)
- myeclipse (3)
- hadoop (18)
- hbase (14)
- hive (7)
- zookeeper (2)
- pig (0)
- mysql (11)
- Redis (8)
- MongoDB (7)
- Cassandra (0)
- Neo4j (0)
- springMVC (3)
- ibatis (1)
- mahout (0)
- Highcharts (1)
- maven (7)
- 生活随笔 (6)
- 存储过程 (4)
- mybatis (3)
- bootstrap (19)
- 工作中遇到的问题 (23)
- node.js (3)
- web前段 (6)
- AngularJS (5)
- GIT (2)
- nginx (5)
- hive,sqoop (1)
- 高并发 (2)
- 算法 (3)
- 工具类 (2)
- ckeditor (1)
- java代码自动生成 (3)
- ueditor (6)
- svn (4)
- easyui (3)
- 数据挖掘 (4)
- ligerUi (1)
- fullcalendar (1)
- 微信公众号开发 (1)
- tomcat (2)
- 面试 (7)
- 数据库性能优化 (2)
- R语言 (3)
- R (6)
- ylcf (39)
- CentOS (13)
- docker (28)
- Spring Boot (10)
- Nexus (1)
- thymeleaf (2)
- nodejs (2)
- swagger (1)
- Jenkins (1)
- SpringCloud (9)
- vue (1)
- springClould问题汇总 (3)
- layui (1)
最新评论
-
greatwqs:
在前置请求页面返回token, 在提交接口中验证token, ...
Spring MVC 用拦截器+token防止重复提交 -
zhukewen_java:
这种方法的缺陷在于如果请求了两个save=true的方法,后面 ...
Spring MVC 用拦截器+token防止重复提交 -
byrgl5:
请问如果重复提交了三次呢?能避免吗?
Spring MVC 用拦截器+token防止重复提交 -
381895649:
是不是有病?
服务器被如下ip攻击,如何根据ip超找攻击来源 -
greatwqs:
最棒的10款MySQL管理工具
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为指定字符串的一部分与正则表达式建立匹配。语法如下:
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 from emp where regexp_like(job, '(clerk|analyst)', 'i'); ename job ---------- --------- smith clerk scott analyst adams clerk james clerk ford analyst miller clerk
发表评论
-
oracle jdbc链接SID和Service Name的区别
2018-12-24 09:27 1744application-dev.yml配置文件如下 eur ... -
Oracle批量操作
2018-04-24 15:52 507racle批量插入: Xml代码 & ... -
mybatis 需要注意的点 MyBatis 插入空值时,需要指定JdbcType (201
2018-03-07 10:19 1687Oracle数据库mybatis 插入空值时报错(with ... -
Oracle JDBC driver Maven配置
2018-03-05 13:41 1338问题: maven项目,spri ... -
ibatis结合Oracle的iterate insert批量插入
2018-02-27 13:50 1622ibatis批量插入oracle数据库 <inser ... -
数据库分页大全(oracle利用解析函数row_number高效分页)
2018-02-24 17:26 727最近在转换mysql项目到oracle项目,遇到mysql分 ... -
Mybatis结合Oracle的foreach insert批量插入
2018-02-24 14:17 3493最近在做将mysql数据库项目迁移到oracle数据库项目 ... -
oracle聚合函数汇总
2018-02-24 13:02 1695今天在做项目,讲mysql项目转换为oracle项目的时候, ... -
spring集中druid进行数据库监控
2018-02-11 17:52 1922Druid内置提供了一个StatViewServlet用于 ... -
mysql和oracle数据互相迁移
2018-02-11 15:53 863工作中,项目原本是mysql数据库 后台需要换成oracl ... -
[Navicat] 连接Oracle报错_Cannot load OCI DLL 87
2018-02-11 15:43 1955Navicat可以用来连接各 ... -
oracle批处理开启或者关闭服务
2013-12-16 22:53 1034机子上装着Oracle,但并不是很常要用到,所以把原先 ... -
oracle case when 用法总结
2011-08-04 14:27 2978Oracle dbms_job package 用法小结 O ... -
Oracle语句优化30个规则详解
2011-08-04 11:07 2888select tab_name from tables ... -
oracle decode()函数用法总结
2011-08-04 10:06 3018·含义解释: decode(条件 ... -
Oracle中的Union,Union All,Intersect,Minus
2011-08-04 09:09 1182众所周知的几个结果 ... -
oracle partition by与group by 的区别
2011-08-03 10:49 10627SELECT b, c, d,SUM(d) O ... -
oracle executeimmediate用法小解
2011-08-03 09:16 1322EXECUTE IMMEDIATE 代替了以 ... -
oracle merge的用法
2011-08-02 17:53 1134MERGE语句是Oracle9i新增的语法,用来合并UPDAT ... -
Oracle 小知识 总结(一) .
2011-08-02 15:42 21761. 每天的8:00到23:00每隔5分钟执行一个sql语句的 ...
相关推荐
### 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...
为了便于理解和测试正则表达式的使用,可以创建一个简单的应用程序。例如,可以通过`Pattern.compile(regex)`编译正则表达式,然后利用`Matcher`类来执行具体的匹配操作。 ```java import java.util.regex.Pattern;...
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则...