backreference Oracle正則表達式中的反向引用
生活随笔
收集整理的這篇文章主要介紹了
backreference Oracle正則表達式中的反向引用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
這是Oracle對正則表達式的backreference的描寫敘述
從定義中能夠看到,當匹配表達式中已()的形式將一個子串包括起來。后面就能夠以\?
的形式來引用。\1相應第一個(),\2相應第二個...
?
反向引用的引入使得正則表達式的匹配功能變得更加強大,介紹兩個在oracle正則函數中的應用
?
regexp_like
?
regexp_like('1211233','^([0-9])(\d)\1\1\2(\d)\3$')
上面這個樣例中,匹配表達式里,\1表示第一個([0-9])。這個表達式要推斷字符串中的第3、4位數字是否和第1位同樣。而不不過匹配[0-9]
?
regexp_replace
?
regexp_replace('1234567','^(.)(.)(.)(.)(.)(.)','\1\2\5')
這里,將符合匹配表達式中的部分替換掉,換成滿足\1\2\5的內容,即第一個(.)第二個(.)和第五個(.)
猜猜這里會返回什么?
因為^(.)(.)(.)(.)(.)(.)匹配了字符串的前6位,因此結果為\1\2\5||第6位之后的部分。即1257
轉載于:https://www.cnblogs.com/ldxsuanfa/p/9928344.html
總結
以上是生活随笔為你收集整理的backreference Oracle正則表達式中的反向引用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 力帆赤狐150摩托车在哪里买
- 下一篇: HDU 3537 Daizhenyang