5个参数 第一个是输入的字符串 第二个是正则表达式 第三个是标识从第几个字符开始正则表达式匹配。(默认为1) 第四个是标识第几个匹配组。(默认为1) 第五个是是取值范围: i:大小写不敏感; c:大小写敏感; n:点号 . 不匹配换行符号; m:多行模式; x:扩展模式,忽略正则表达式中的空白字符。
全部测试数据 SQL> select * from test_reg_substr; A ----------------------------------- ABC123XYZ ABC123XYZ456 <Name>Edward</Name>
检索中间的数字 SQL> SELECT 2 REGEXP_SUBSTR(a,'[0-9]+') 3 FROM 4 test_reg_substr 5 WHERE 6 REGEXP_LIKE(a, '[0-9]+'); REGEXP_SUBSTR(A,'[0-9]+') --------------------------------- 123 123
检索中间的数字(从第一个字母开始匹配,找第2个匹配项目) SQL> SELECT 2 NVL(REGEXP_SUBSTR(a,'[0-9]+',1, 2), '-') AS a 3 FROM 4 test_reg_substr 5 WHERE 6 REGEXP_LIKE(a, '[0-9]+'); A ------------------------------------------------------ - 456
取得“字符集合” SQL> SELECT 2 REGEXP_SUBSTR(a, '\w+') 3 FROM 4 test_reg_substr 5 WHERE 6 REGEXP_LIKE(a, '\w+'); REGEXP_SUBSTR(A,'\W+') ------------------------------- ABC123XYZ ABC123XYZ456 Name
取得“字符集合”(从第一个字母开始匹配,找第2个匹配项目) SQL> SELECT 2 NVL(REGEXP_SUBSTR(a, '\w+',1, 2), '-') AS a 3 FROM 4 test_reg_substr 5 WHERE 6 REGEXP_LIKE(a, '\w+'); A --------------------------------------------------- - - Edward |
Oracle 正则表达式函数-REGEXP_SUBSTR 使用例子
最新推荐文章于 2022-04-19 12:04:18 发布