iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >怎么掌握oracle正则表达式
  • 837
分享到

怎么掌握oracle正则表达式

2024-04-02 19:04:59 837人浏览 泡泡鱼
摘要

这篇文章主要介绍“怎么掌握oracle正则表达式”,在日常操作中,相信很多人在怎么掌握oracle正则表达式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么掌握oracle

这篇文章主要介绍“怎么掌握oracle正则表达式”,在日常操作中,相信很多人在怎么掌握oracle正则表达式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么掌握oracle正则表达式”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1. 正则表达式规范

(1).匹配字符

字符类匹配的字符举 例
\d从0-9的任一数字\d\d匹配72,但不匹配aa或7a
\D任一非数字字符\D\D\D匹配abc,但不匹配123
\w任一单词字符,包括A-Z,a-z,0-9和下划线\w\w\w\w匹配Ab-2,但不匹配∑£$%*或Ab_@
\W任一非单词字符\W匹配@,但不匹配a
\s任一空白字符,包括制表符,换行符,回车符,换页符和垂直制表符匹配在html,XML和其他标准定义中的所有传统空白字符
\S任一非空白字符空白字符以外的任意字符,如A%&g3;等
.任一字符匹配除换行符以外的任意字符除非设置了MultiLine先项
[…]括号中的任一字符[abc]将匹配一个单字符,a,b或c.
[a-z]将匹配从a到z的任一字符
[^…]不在括号中的任一字符[^abc]将匹配一个a、b、c之外的单字符,可以a,b或A、B、C
[a-z]将匹配不属于a-z的任一字符,但可以匹配所有的大写字母

(2).重复字符

重复字符含 义举 例
{n}匹配前面的字符n次x{2}匹配xx,但不匹配x或xxx
{n,}匹配前面的字符至少n次x{2}匹配2个或更多的x,如xxx,xxx..
{n,m}匹配前面的字符至少n次,至多m次。如果n为,此参数为可选参数x{2,4}匹配xx,xxx,xxxx,但不匹配xxxxx
?匹配前面的字符次或1次,实质上也是可选的x?匹配x或零个x
+匹配前面的字符次或多次x+匹配x或xx或大于0的任意多个x
*匹配前面的字符次或更多次x*匹配0,1或更多个x

(3).定位字符

定位字符描 述
^随后的模式必须位于字符串的开始位置,如果是一个多行字符串,则必须位于行首。对于多行文本(包含回车符的一个字符串)来说,需要设置多行标志
$前面的模式必须位于字符串的未端,如果是一个多行字符串,必须位于行尾
\A前面的模式必须位于字符串的开始位置,忽略多行标志
\z前面的模式必须位于字符串的未端,忽略多行标志
\Z前面的模式必须位于字符串的未端,或者位于一个换行符前
\b匹配一个单词边界,也就是一个单词字符和非单词字符中间的点。要记住一个单词字符是[a-zA-Z0-9]中的一个字符。位于一个单词的词首
\B匹配一个非单词字符边界位置,不是一个单词的词首

(4).分组字符

分组字符定 义举 例
()此字符可以组合括号内模式所匹配的字符,它是一个捕获组,也就是说模式匹配的字符作为最终设置了ExplicitCapture选项――默认状态下字符不是匹配的一部分输入字符串为:ABC1DEF2XY
匹配3个从A到Z的字符和1个数字的正则表达式:([A-Z]{3}\d)
将产生两次匹配:Match   1=ABC1;Match 2=DEF2
每次匹配对应一个组:Match2的第一个组=ABC;Match3的第1个组=DEF
有了反向引用,就可以通过它在正则表达式中的编号以及C#和类Group,GroupCollection来访问组。如果设置了ExplicitCapture选项,就不能使用组所捕获的内容

(5).字符簇: 

[[:alpha:]] 任何字母。

[[:digit:]] 任何数字。

[[:alnum:]] 任何字母和数字。

[[:space:]] 任何白字符。

[[:upper:]] 任何大写字母。

[[:lower:]] 任何小写字母。

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

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

(6).优先级

转义符

(), (?:), (?=), [] 圆括号和方括号

*, +, ?, {n}, {n,}, {n,m} 限定符

^, $, anymetacharacter 位置和顺序

¦ “或”操作

2.常用函数

(1).regexp_like(expression, regexp)

返回值为一个布尔值。如果第一个参数匹配第二个参数所代表的正则表达式,那么将返回真,否则将返回假。

(2).regexp_instr(expression, regexp, startindex, times)

返回找到的匹配字符串的位置.

(3).regexp_substr(expression, regexp)

返回第一个字符串参数中,与第二个正则表达式参数相匹配的子字符串。

(4).regexp_replace(expression, regexp, replacement)

将expression中的按regexp匹配到的部分用replacement代替.

(5).REGEXP_COUNT (source_char, pattern [, position [, match_param]])

REGEXP_COUNT 返回pattern 在source_char 串中出现的次数。如果未找到匹配,则函数返回0。position 变量告诉Oracle 在源串的什么位置开始搜索。在开始位置之后每出现一次模式,都会使计数结果增加1。

match_param 变量支持下面几个值:

‘i’ 用于不区分大小写的匹配

‘c’ 用于区分大小写的匹配

‘n’ 允许句点(.)作为通配符去匹配换行符。如果省略该参数,则句点将不匹配换行符

‘m’ 将源串视为多行。即Oracle 将^和$分别看作源串中任意位置任何行的开始和结束,而不是仅仅看作整个源串的开始或结束。如果省略该参数,则Oracle将源串看作一行。

‘x’ 忽略空格字符。默认情况下,空格字符与自身相匹配。

3.示例:

(1).查找id为4位数的记录

select data_object_id,object_name from HH where regexp_like(data_object_id,'^[[:digit:]]{3}$');

select data_object_id,object_name from HH where regexp_like(data_object_id,'^\d{3}$');

(2).查找对象名包含英文和下划线的记录

select object_name from HH where regexp_like(object_name,'^[a-z|A-Z|_]*$')

(3).对象名以a或A开头的记录

select object_name from HH where regexp_like(object_name,'^[a|A]')

(4).查找对象名为全英文,并且以N结尾

select object_name from HH where regexp_like(object_name,'^[a-z|A-Z]*N$')

(5).查找以非数字开头的员工信息

select object_name from HH where regexp_like(object_name,'^[^\d]');

(6).查找对象名中第一个特殊字符的位置

select object_name,regexp_instr(object_name,'[^[:alnum:]]',1) from HH;

(7).从第三个字符开始,查找员工编号中第二个非数字字符的位置

select object_name,regexp_instr(object_name,'[^[:alnum:]]',3,2) from HH

(8).返回从第二个字符开始检索,并且对象名以L开头$结尾的子串

select object_name,regexp_substr(object_name,'L.*\$$',2) from HH;

(9).把对象名中所有非字母字符替换为“A”

select regexp_replace(object_name,'[^a-z|A-Z]','A') from HH;

(10).查询字符串中was的出现次数,忽略大小写。

select regexp_count ('THE PRO-NIECE WAS BORN TODAY, SO EXCITING!', 'Was', 1,'i') from dual;

到此,关于“怎么掌握oracle正则表达式”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: 怎么掌握oracle正则表达式

本文链接: https://www.lsjlt.com/news/65047.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么掌握oracle正则表达式
    这篇文章主要介绍“怎么掌握oracle正则表达式”,在日常操作中,相信很多人在怎么掌握oracle正则表达式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么掌握oracle...
    99+
    2024-04-02
  • 如何掌握正则表达式
    这篇文章主要讲解了“如何掌握正则表达式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何掌握正则表达式”吧!1. 正则常见规则1.1 字符匹配字符说明\转义...
    99+
    2024-04-02
  • 一文掌握Python正则表达式
    目录re 模块的使用匹配方法的使用re 模块其他方法的使用正则表达式基础匹配数字匹配字符匹配符号正则表达式,又称规则表达式(Regular Expression),是使用单个字符串来...
    99+
    2024-04-02
  • Oracle正则表达式怎么用
    这篇文章给大家分享的是有关Oracle正则表达式怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。oracle正则表达式 ORACLE中的支持正则表达式的函数主要有下面四个: ...
    99+
    2024-04-02
  • 轻松掌握正则表达式findall函数详解
    正则表达式入门-findall()函数 findall()函数 例子 import re a = '123abc' re=re.findall('\d\d\d',a) print...
    99+
    2024-04-02
  • JavaScript RegExp 方法:掌握正则表达式的艺术
    JavaScript 的 RegExp 方法是用于处理正则表达式的强大工具,它提供了对字符串进行强大且灵活的搜索和替换操作。通过利用正则表达式模式,开发者可以轻松处理复杂的数据模式,并执行各种字符串操作任务。 RegExp 对象 Reg...
    99+
    2024-03-09
    JavaScript、正则表达式、RegExp、字符串操作
  • 怎么理解并掌握python正则表达式和re模块
    这篇文章主要介绍“怎么理解并掌握python正则表达式和re模块”,在日常操作中,相信很多人在怎么理解并掌握python正则表达式和re模块问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么理解并掌握pyth...
    99+
    2023-06-01
  • Oracle中正则表达式怎么用
    小编给大家分享一下Oracle中正则表达式怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Oracle使用正则表达式离不开这...
    99+
    2024-04-02
  • 正则表达式
    2019-01-16 作用 :     路由匹配,表单信息的验证  (字符串匹配) 信息提取(在大段文本中提取信息,爬虫) 字符串的提取和校验 []在中括号内匹配任意项  [^]不匹配中括号中的任意一项    [0-9]  0123......
    99+
    2023-01-30
    正则表达式
  • linux中如何快速掌握grep命令及正则表达式
    这篇文章将为大家详细讲解有关linux中如何快速掌握grep命令及正则表达式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。快速了解正则表达式如何匹配你要查找的内容正则表达式只不过是每个输入行匹配的模式。在...
    99+
    2023-06-16
  • PHP中文替换:掌握正则表达式的应用技巧
    PHP中文替换:掌握正则表达式的应用技巧,需要具体代码示例 正则表达式在PHP中被广泛应用于字符串匹配和替换操作。掌握正则表达式的应用技巧能够帮助程序员更有效地处理文本数据。本文将介绍...
    99+
    2024-04-02
  • 在python正则表达式中是怎样正确使用正则表达式
    这篇文章将为大家详细讲解有关在python正则表达式中是怎样正确使用正则表达式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。现在我们已经看了一些简单的正则表达式,那么我们实际在 Python...
    99+
    2023-06-17
  • JavaScript正则表达式怎么用
    这篇文章主要为大家展示了“JavaScript正则表达式怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript正则表达式怎么用”这篇文章吧。什...
    99+
    2024-04-02
  • VB.NET正则表达式怎么用
    小编给大家分享一下VB.NET正则表达式怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、引言在通常的程序设计中,对字符串的操作是不可缺少的部分。例如,我们...
    99+
    2023-06-17
  • Shell正则表达式怎么用
    这篇文章将为大家详细讲解有关Shell正则表达式怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、正则表达式是什么?正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、...
    99+
    2023-06-09
  • Flex正则表达式怎么用
    这篇文章主要为大家展示了“Flex正则表达式怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Flex正则表达式怎么用”这篇文章吧。Flex正则表达式学习一般来说各个开发环境或者语言对于Fle...
    99+
    2023-06-17
  • notepad怎么写正则表达式
    这篇文章给大家分享的是有关notepad怎么写正则表达式的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。问题描述:这个正则表达式用notepad++怎么写?原文本:<City Name="...
    99+
    2023-06-21
  • 一文带你全面掌握Go语言中的正则表达式
    目录1. 正则表达式语法2. 创建正则表达式对象3. 字符串匹配4. 字符串替换5. 捕获组7. 标志(Flags)8. 常见正则表达式技巧8.1 使用限定符8.2 使用字符类8.3...
    99+
    2023-05-20
    Go语言正则表达式使用 Go语言 正则表达式 Go 正则表达式
  • python3-正则表达式
    import re print(re.search("xyx","qxyasdfxuyxyxaqd"))#寻找 print(re.match("xya","qxyasdfxuyxyxaqd"))#从头匹配,失败返回None print(re...
    99+
    2023-01-31
    正则表达式
  • java正则表达式
    目录 一、概念 二、正则表达式语法 三、捕获组 四、Pattern类与Matcher类 1.matches( ) 2.split( ) 3.find( ) 4.group 5.start( )和end( ) 6.replace替换 7.re...
    99+
    2023-09-21
    java 正则表达式
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作