和like模式不一樣的是,正規表示式允許匹配串裡的任何位置,除非該正規表示式顯式地掛接在串的開頭或者結尾。
substring(string from pattern)
提供了抽取乙個匹配 posix 正規表示式模式的子串的方法。
regexp_replace(source, pattern, replacement [, flags ])
regexp_replace函式提供了將匹配 posix 正規表示式模式的子串替換為新文字的功能。
regexp_match(string, pattern [, flags ])
regexp_match 函式返回從posix正規表示式模式首次匹配到字串後捕獲的子字串的文字陣列。
regexp_matches(string, pattern [, flags ])
regexp_matches函式返回一組捕獲的字串的文字陣列
regexp_split_to_table(string, pattern [, flags ])
regexp_split_to_array(string, pattern [, flags ])
regexp_split_to_table把乙個 posix 正規表示式模式當作乙個定界符來分離乙個串。
原子描述
(re)
(其中re是任何正規表示式) 匹配乙個對re的匹配,匹配將為可能的報告被記下
.匹配任意單個字元
[chars]
乙個方括號表示式, 匹配chars中的任意乙個
\k(其中k是乙個非字母數字字元) 匹配乙個被當作普通字元看待的特定字元, 例如,\匹配乙個反斜線字元
\c其中c是乙個字母數字 (可能跟著其它字元),它是乙個逃逸(僅對 are; 在 ere 和 bre 中,它匹配c)
乙個由原子的正好m次匹配組成的序列
乙個由原子的m次或更多次匹配組成的序列
乙個由原子的從m次到n次(包括)匹配組成的序列;m不能超過n
*?*的非貪婪版本
+?+的非貪婪版本
???的非貪婪版本
?的非貪婪版本
?的非貪婪版本
?的非貪婪版本
約束描述
^串開頭的匹配
$串末尾的匹配
(?=re)
在匹配re的子串開始的任何點的positive lookahead匹配(只對 are)
(?!re)
在匹配re的子串開始的任何點的negative lookahead匹配(只對 are)
(?<=re)
只要有乙個點上有乙個子串匹配re端, positive lookbehind就在這個點上匹配(只對 are)
(?只要有乙個點上沒有子串匹配re端, negative lookbehind就在這個點上匹配(只對 are)
逃逸描述
\a警告(響鈴)字元,和 c 中一樣
\b退格,和 c 中一樣
\b反斜線(\)的同義詞,用來減少雙寫反斜線
\cx(其中x是任意字元)低序5位和x相同的字元,它的其他位都是零
\e排序序列名為esc的字元,如果無法做到該字元為八進位制值033
\f換頁,和 c 中一樣
\n新行,和 c 中一樣
\r回車,和 c 中一樣
\t水平製表符,和 c 中一樣
\uwxyz
(其中wxyz正好是四個十六進製制位) 字元十六進製制值是0xwxyz
\ustuvwxyz
(其中stuvwxyz正好是八個十六進製制位) 字元十六進製制值是0xstuvwxyz
\v垂直製表符,和 c 中一樣
\xhhh
(其中hhh是十六進製制位的任意序列)十六進製制值為0xhhh的字元(乙個單一字元,不管用了多少個十六進製制位)
\0值為0(空位元組)的字元
\xy(其中xy正好是兩個八進位制位,並且不是乙個後引用)八進位制值為0xy的字元
\xyz
(其中xyz正好是三個八進位制位,並且不是乙個後引用)八進位制值為0xyz的字元
逃逸描述
\d[[:digit:]]
\s[[:space:]]
\w[[:alnum:]_](注意下劃線是被包括的)
\d[1]\s
[2]\w[3
_] (注意下劃線是被包括的)
參考文獻:
:digit: ↩︎
:space: ↩︎
:alnum: ↩︎
psql備份恢復
pg dump dbname outfile 可以使用諸如 n schema 或 t table選項來備份該資料庫中你能夠 訪問的部分 宣告pg dump連線哪個資料庫伺服器,使用命令列選項 hhost和 p port。要使用其他名字,要麼宣告 u選項,要麼設定環境變數pguser。pg dump工...
js 正則匹配
isnumber 是否為數字 regexps.isnumber d d isint 是否為整形 regexps.isint d istime 是否為時間格式 regexps.istime d d d s d d d isdate 是否為日期格式 regexps.isdate d d d isemai...
perl正則匹配
字元的種類是一定的,無非是空格,數字,大小寫字母,和perl中定義的元字元,還有本國語言。所以原則上任何格式的字元都能匹配。匹配工具 選擇符號,關鍵字,量詞,斷言,轉義字元 當出現多個字元組成的 非空格字元時候,例如123,45 3 s sdgg 則使用 0 9a za z 若加上 則只能匹配一行中...