正規表示式 Regular Expression

 

簡單說明:

[]:用來定義可接受的字元

[a-z] : 可接受a~z等26個"小寫"字母

[A-Z] : 可接受A~Z等26個"大寫"字母

[0-9] : 只接受0~9等十個數字

[a-zA-Z0-9] : 可接受所有大小寫字母及數字

除了以上用法,也可以直接指定可接受的字元,例如[acfgh]表示可以接受a、c、f、g、h等五個小寫字母,另外,^符號表示"不接受"的意思。

{}: 用來定義必須輸入的字元數

{5} : 必須輸入5個字元

{5,10} : 必須輸入5~10個字元

[a-z]{5}:表示必須輸入5個a~z中的5個小寫字母

[a-zA-Z0-9]{5~10} : 表示必須輸入5~10個大小寫字母或數字

.符號 : 表示任意字元

.{5~10}:表示可接受5~10個任意字元

|符號:表示或的意思

[a-z]{5}|[A-Z][5] : 必須輸入5個小寫或大寫字母,而不是5大小寫混合字母

^符號:表示從字串開頭開始比對

$符號:比對必須發生在字串結尾

語法列表:

語法 說明 範例
\  將下一個字元標記為一個特殊字元、或一個原義字元、或一個向後參照、或一個八進制轉義符。例如,「n」匹配字元「n」。「\n」匹配一個換行符。序列「\\」匹配「\」而「\(」則匹配「(」
^ 匹配輸入字串的開始位置。如果設定了RegExp物件的Multiline屬性,^也匹配「\n」或「\r」之後的位置。
$ 匹配輸入字串的結束位置。如果設定了RegExp物件的Multiline屬性,$也匹配「\n」或「\r」之前的位置。
* 匹配前面的子運算式零次或多次。例如:Gooo*gle 能匹配 Google、Goooooogle。* 等於 {0,}
+ 匹配前面的子運算式一次或多次。例如:Gooo+gle 能匹配 Gooogle、Goooooogle,但不能匹配 Google。+ 等於 {1,}
? 匹配前面的子運算式零次或一次。例如:Gooo?gle 只能匹配 Gooogle 和 Google。? 等於 {0,1}
{n} 是一個非負整數。匹配確定的n次。例如:o{3} 能匹配 Gooogle 的 ooo,但不能匹配 Google。
{n,} n是一個非負整數。至少匹配n次
? 當該字元緊跟在任何一個其他限制符(*,+,?,{n},{n,},{n,m})後面時,匹配範式是非貪婪的。非貪婪範式儘可能少的匹配所搜尋的字串,而預設的貪婪範式則儘可能多的匹配所搜尋的字串
. 匹配除「\n」之外的任何單個字元。要匹配包括「\n」在內的任何字元,請使用像「[.\n]」的範式
x|y 匹配x或y
[xyz] 字符集合。匹配所包含的任意一個字元
[^xyz] 負值字符集合。匹配未包含的任意字元
[a-z] 字元範圍。匹配指定範圍內的任意字元
[^a-z] 負值字元範圍。匹配任何不在指定範圍內的任意字元
\b 匹配一個單詞邊界,也就是指單詞和空格間的位置
\B 匹配非單詞邊界
\cx 匹配由x指明的控制字元。例如,\cM匹配一個Control-M或Enter符。x的值必須為A-Z或a-z之一。否則,將c視為一個原義的「c」字元
\d 匹配一個數位字元。\d 等於[0-9]
\D 匹配一個非數位字元。\D 等於[^0-9]
\f 匹配一個換頁符。\f 等於\x0c和\cL
\n 匹配一個換行符。\n 等於\x0a和\cJ
\r 匹配一個Enter符。\r 等於\x0d和\cM
\s 匹配任何空白字元,包括空格、製表符、換頁符等等。\s 等於[\f\n\r\t\v]
\S 匹配任何非空白字元。\S 等於[^\f\n\r\t\v]
\t 匹配一個製表符。\t 等於\x09和\cI
\v 匹配一個垂直製表符。\v 等於\x0b和\cK
\w 匹配包括底線的任何單詞字元。\w 等於「[A-Za-z0-9_]」
\W 匹配任何非單詞字元。\W 等於「[^A-Za-z0-9_]」















ref Web:
https://zh.wikipedia.org/zh-tw/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F
https://jimmy0222.pixnet.net/blog/post/36958669
https://medium.com/jason%E7%9A%84%E5%89%8D%E7%AB%AF%E4%B9%8B%E8%B7%AF/c-regular-expression-%E8%A6%8F%E5%89%87%E9%81%8B%E7%AE%97%E5%BC%8F-d7c22606f213




留言

這個網誌中的熱門文章

ORA-12514: TNS: 監聽器目前不知道連線描述區中要求的服務

Oracle 例外控制(Exception Control)

Oracle 工作排程 DBMS_JOB 筆記