zoukankan      html  css  js  c++  java
  • Oracle的REGEXP_SUBSTR函数简单使用方法

    REGEXP_SUBSTR延伸SUBSTR函数的功能。让你搜索一个正則表達式模式字符串。

    这也相似于REGEXP_INSTR。而是返回子字符串的位置,它返回的子字符串本身。

    语法

    Oracle数据库中的REGEXP_SUBSTR函数的语法是:

    REGEXP_SUBSTR(source_char, pattern [, position [, occurrence [, match_parameter ]]])

    參数

    source_char

    搜索字符串。能够是随意的数据类型char。VARCHAR2。nchar,CLOB,NCLOB类型

    pattern

    正則表達式

    Value Description
    ^ Matches the beginning of a string. If used with a match_parameter of ‘m’, it matches the start of a line anywhere within expression.
    $ Matches the end of a string. If used with a match_parameter of ‘m’, it matches the end of a line anywhere within expression.
    * 匹配零个或多个.
    + 匹配一个或多个出现.
    ? 匹配零次或一次出现.
    . 匹配不论什么字符,除了空.
    | Used like an "OR" to specify more than one alternative.
    [ ] Used to specify a matching list where you are trying to match any one of the characters in the list.
    [^ ] Used to specify a nonmatching list where you are trying to match any character except for the ones in the list.
    ( ) Used to group expressions as a subexpression.
    {m} Matches m times.
    {m,} Matches at least m times.
    {m,n} Matches at least m times, but no more than n times.
    n is a number between 1 and 9. Matches the nth subexpression found within ( ) before encountering .
    [..] Matches one collation element that can be more than one character.
    [::] Matches character classes.
    [==] Matches equivalence classes.
    d 匹配一个数字字符.
    D 匹配一个非数字字符.
    w 匹配包含下划线的不论什么单词字符.
    W 匹配不论什么非单词字符.
    s 匹配不论什么空白字符。包含空格、制表符、换页符等等.
    S 匹配不论什么非空白字符.
    A Matches the beginning of a string or matches at the end of a string before a newline character.
     Matches at the end of a string.
    *? Matches the preceding pattern zero or more occurrences.
    +? Matches the preceding pattern one or more occurrences.
    ?? Matches the preceding pattern zero or one occurrence.
    {n}? Matches the preceding pattern n times.
    {n,}? Matches the preceding pattern at least n times.
    {n,m}? Matches the preceding pattern at least n times, but not more than m times.

    position

    可选。搜索在字符串中的開始位置。假设省略,默觉得1。这是第一个位置的字符串。

    occurrence

    可选。它是模式字符串中的第n个匹配位置。假设省略。默觉得1。

    match_parameter

    可选。它同意你改动regexp_substr功能匹配的行为。它能够是以下的组合:

    Value Description
    ‘c’ 区分大写和小写的匹配.
    ‘i’ 不区分大写和小写的匹配.
    ‘n’ Allows the period character (.) to match the newline character. By default, the period is a wildcard.
    ‘m’ expression is assumed to have multiple lines, where ^ is the start of a line and $ is the end of a line, regardless of the position of those characters in expression. By default, expression is assumed to be a single line.
    ‘x’ Whitespace characters are ignored. By default, whitespace characters are matched like any other character.

    Examples

    找出匹配的数字

    SELECT REGEXP_SUBSTR ('hello my phone is 520 ', '[0-9]+') FROM dual; --520

    以下这个样例返回指定第三次出现的字符

    SELECT REGEXP_SUBSTR ('i like beijing tiananmen', '(S*)(s)', 1, 3)
    FROM dual;    --beijing


    作者:itmyhome

  • 相关阅读:
    rsync备份服务器搭建学习笔记
    switch case
    常见http状态码
    正则去除html字符串中的注释、标签、属性
    2018-10-10 10:00 从今日开始记录
    Qt dialog 的geometry()
    Qt禁止最大和最小化
    tableWidget删除除了头外的内容并释放
    Qt QTabBar 实现宽度调整,非QSS
    Qt 歌词有关内容
  • 原文地址:https://www.cnblogs.com/yfceshi/p/7344494.html
Copyright © 2011-2022 走看看