正規表示式的規則

2021-09-04 04:38:05 字數 2960 閱讀 2913

表 1:定位元字元

元字元 說明 

^ 使表示式定位至一行的開頭 

$ 使表示式定位至一行的末尾 

表 2:量詞或重複操作符 量詞 說明 

* 匹配 0 次或更多次 

? 匹配 0 次或 1 次 

+ 匹配 1 次或更多次 

正好匹配 m 次 

至少匹配 m 次 

至少匹配 m 次但不超過 n 次 

表 3:預定義的 posix 字元類 字元類 說明 

[:alpha:] 字母字元 

[:lower:] 小寫字母字元 

[:upper:] 大寫字母字元 

[:digit:] 數字 

[:alnum:] 字母數字字元 

[:space:] 空白字元(禁止列印),如回車符、換行符、豎直製表符和換頁符 

[:punct:] 標點字元 

[:cntrl:] 控制字元(禁止列印) 

[:print:] 可列印字元 

表 4:表示式的替換匹配和分組 元字元 說明 

| 替換 分隔替換選項,通常與分組操作符 () 一起使用 

( ) 分組 將子表示式分組為乙個替換單元、

量詞單元或後向引用單元(參見「後向引用」部分) 

[char] 字元列表 表示乙個字元列表;乙個字元列表中的大多數元字元(除字元類、^ 和 - 元字元之外)被理解為文字 

表 5:regexp_like 操作符 語法 說明 

regexp_like(source_string, pattern

[, match_parameter]) source_string 支援字元資料型別(char、varchar2、clob、nchar、nvarchar2 和 nclob,但不包括 long)。

pattern 引數是正規表示式的另乙個名稱。match_parameter 允許可選的引數(如處理換行符、保留多行格式化以及提供對區分大小寫的控制)。 

表 6:regexp_instr 函式 語法 說明 

regexp_instr(source_string, pattern

[, start_position

[, occurrence

[, return_option

[, match_parameter]]]]) 該函式查詢 pattern ,並返回該模式的第乙個位置。您可以隨意指定您想要開始搜尋的 

start_position。 occurrence 引數預設為 1,除非您指定您要查詢接下來出現的乙個模式。return_option 的預設值為 0,

它返回該模式的起始位置;值為 1 則返回符合匹配條件的下乙個字元的起始位置。 

表 8:regexp_substr 函式 語法 說明 

regexp_substr(source_string, pattern

[, position [, occurrence

[, match_parameter]]]) regexp_substr 函式返回匹配模式的子字串。 

表 9: regexp_replace 函式 語法 說明 

regexp_replace(source_string, pattern

[, replace_string [, position

[,occurrence, [match_parameter]]]]) 該函式用乙個指定的 replace_string 來替換匹配的模式,從而允許複雜的「搜尋並替換」操作。 

表 10:後向引用元字元 元字元 說明 

\digit 反斜線 緊跟著乙個 1 到 9 之間的數字,反斜線匹配之前的用括號括起來的第 digit 個子表示式。

(注意:反斜線在正規表示式中有另一種意義,取決於上下文,它還可能表示 escape 字元。 

表 11:模式交換正規表示式的說明 正規表示式專案 說明 

( 第乙個子表示式的開頭  

. 匹配除換行符之外的任意單字元 

* 重複操作符,匹配之前的 . 元字元 0 到 n 次 

) 第乙個子表示式的結尾;匹配結果在 \1

中獲取(在這個例子中,結果為 ellen。) 

必須存在的空白  

( 第二個子表示式的開頭  

. 匹配除換行符之外的任意單個字元  

* 重複操作符,匹配之前的 . 元字元 0 到 n 次 

) 第二個子表示式的結尾;匹配結果在 \2

中獲取(在這個例子中,結果為 hildi。) 

空白  

( 第三個子表示式的開頭  

. 匹配除換行符之外的任意單字元  

* 重複操作符,匹配之前的 . 元字元 0 到 n 次 

) 第三個子表示式的結尾;匹配結果在 \3

中獲取(在這個例子中,結果為 smith。) 

表 12:社會保險號碼正規表示式的說明 正規表示式專案 說明 

^ 行首字元(正規表示式在匹配之前不能有任何前導字元。) 

( 開始子表示式並列出用 | 元字元分開的可替換選項 

[ 字元列表的開頭 

[:digit:] posix 數字類  

] 字元列表的結尾  

字元列表正好重複出現 3 次  

- 連字元  

[ 字元列表的開頭  

[:digit:] posix 數字類 

] 字元列表的結尾  

字元列表正好重複出現 2 次  

- 另乙個連字元  

[ 字元列表的開頭  

[:digit:] posix 數字類  

] 字元列表的結尾  

字元列表正好重複出現 4 次  

| 替換元字元;結束第乙個選項並開始下乙個替換表示式 

[ 字元列表的開頭  

[:digit:] posix 數字類 

] 字元列表的結尾 

字元列表正好重複出現 9 次  

) 結束圓括號,結束用於替換的子表示式組 

$ 定位元字元,指示行尾;沒有額外的字元能夠符合模式 

正規表示式 規則表示式

今天學習了正規表示式的一些基礎知識,1.概念 首先了解了一下正規表示式的含義 一些便於計算機識別的規則,能夠快速方便地對字元進行操作。而對於計算機而言,也有一寫規則表示式,它是能令計算機讀懂的 所以對我們來說看起來比較費勁 也相當於計算機的常識,一遇到就知道你要幹什麼。2.建立正則物件 var re...

正規表示式 規則

system.out.printf example 2f n 19.234 example 19.23 system.out.printf example 6.2f n 19.234 example 19.23 l xn匹配 ascii 碼值等於 n的字元 此處的 n 必須是兩位的十六進製制數。例如...

正規表示式規則

正規表示式是用乙個字串表示乙個特徵,來驗證另乙個字串是否滿足這一特徵的方法。正規表示式主要用於檢驗規則匹配,查詢特定規則字串的位置,進行特定規則替換。1.匹配普通字元 匹配乙個特定的字元,如a,那麼正規表示式就寫為a。2.匹配轉義字元 一般轉義字元 r 回車,n 換行,t 製表符,f 換頁符,v 垂...