AI智能
改变未来

Oracle正则表达式使用-介绍篇(一)

 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来:

  1. 检查一个串中是否含有符合某个规则的字符串,并且可以得到这个字符串。
  2. 根据匹配规则对字符串进行灵活的替换操作。

正则表达式集合及操作符

1.字符集合

字符 匹配的字符
\\d 从0-9的任一数字
\\D 任一非数字字符
\\w 任一单词字符,包括A-Z,a-z,0-9和下划线
\\W 任一非单词字符
\\s 任一空白字符,包括制表符,换行符,回车符,换页符和垂直制表符
\\S 任一非空白字符
. 任一字符

2.边界集合

字符 l 描述
^ 每一行的开头,单行模式下等价于字符串的开头
$ 每一行的结尾,单行模式下等价于字符串的结尾

3.重复次数集合

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

贪婪 非贪婪 描述
* *? 零次或多次
? ?? 零次或一次
+ +? 一次或多次
{m} {m}? 正好m次,贪婪与非贪婪一样的
{m,} {m,}? 至少m次
{m, n} {m, n}? 最少m最多n次

4.组合操作符

优先级比较:圆括号>重复次数操作符>和>或

组合操作符 描述
[…] 方括号内任意字符或字符集合中的一个
[^…] 方括号内^为第一个字符时,表示与其后所有字符都不匹配的字符
(…) 圆括号,将复杂表达式当作单一表达式来处理
…|…
abc 和。直接将字符连在一起写

5.匹配操作符

匹配操作符 描述
\\n 即后向引用。n为1~9,标识由圆括号里取得的匹配字符串。方向是从左到右在regexp_replace函数中,允许在模式表达式和替换表达式中都使用\\n

6.转义操作符

转义操作符 描述
\\ 将其后紧跟着的操作字符当作普通字符看待。例如 abcdef 可以匹配 abdef或abcccdef等,但无法匹配 abcdef,后者需要abc*def才能匹配

 

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » Oracle正则表达式使用-介绍篇(一)