JavaScript
Regex
正則表達式(Regular Expression),常簡寫為 RegEx、RegExp 或 RE,代表描述一種字串匹配的模式(pattern)。在程式語言中,通常用來搜尋、比對、替換符合某個模式的文字。
在 JavaScript 中,Regex 常見使用情境如下:
舉個簡單的例子:「如何判斷某段資料內,是否包含字元 H
?」
可能就有以下三種解法:
撰寫正規表達式,可透過以下兩種方式:
/ /
new RegExp()
在正規表達式中,某些特殊字元或符號屬於保留字:
以下為使用範例:
*
、+
、?
、{}
預設情況下,一個字元只會匹配一次,搭配 *
、+
、?
、{}
字元可指定匹配次數:
*
:任意次數,等同於 {0,}
+
:至少一次(後面要跟著),等同於 {1,}
?
:零或一次(有或沒有),等同於 {0,1}
{m}
:m 次{m, n}
:從 m 到 n 次i
、g
、m
而 i
、g
、m
這類標記(flag),不會寫在正則表達式裡,格式與範例如下:
可參考下圖,在 Regexr 網站的測試結果:
在 JavaScript 中,常與 RegExp 物件搭配使用的函式如下:
test()
、search()
exec()
、match()
replace()
詳細規則可參考這篇:正則表示式 – 匹配規則