概念
- 正則表達式,又稱規則表達式。(英語:Regular Expression,在代碼中常簡寫爲regex、regexp或RE),計算機科學的一個概念。正則表達式一般被用來檢索、替換那些符合某個模式(規則)的文本。
- 許多程序設計語言都支持利用正則表達式進行字符串操做。例如,在Perl中就內建了一個功能強大的正則表達式引擎。正則表達式這個概念最初是由Unix中的工具軟件(例如sed和grep)普及開的。正則表達式一般縮寫成「regex」,單數有regexp、regex,複數有regexps、regexes、regexen。
- 正則表達式是對字符串操做的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個「規則字符串」,這個「規則字符串」用來表達對字符串的一種過濾邏輯。
用途
給定一個正則表達式和另外一個字符串,咱們能夠達到以下的目的:正則表達式
- 給定的字符串是否符合正則表達式的過濾邏輯(稱做「匹配」):
- 能夠經過正則表達式,從字符串中獲取咱們想要的特定部分。
正則表達式的特色是
- 靈活性、邏輯性和功能性很是強;
- 能夠迅速地用極簡單的方式達到字符串的複雜控制。
- 對於剛接觸的人來講,比較晦澀難懂。
- 語言獨立性,不一樣平臺都提供了對應的正則用法
組成
正則表達式 [2] 由一些普通字符和一些元字符(metacharacters)組成。普通字符包括大小寫的字母和數字,而元字符則具備特殊的含義,咱們下面會給予解釋。瀏覽器
瀏覽器中的正則對象
以下作了一張正則的JavaScript中的圖譜,涵蓋了ES5的正則的99%的功能,其中ES6+新增了幾個特性,後續會增長補充。

針對以上圖譜,咱們使用正則來作一個功能:工具
需求以下:
正則匹配一個字符串是否是數字格式:spa
// 其中正確數字格式以下:
[
'5','+5','-5','.5','0.5','1.5','-.5','+.5',
'10000','10000.','100.00'
]
// 不正確的數字格式以下:
[
'','.','+','-','+.','-.','.5.5','1.5.5'
]
那麼咱們可能寫出以下正則:設計
/^(?=.*\d)([+-]?)(?<=\1|\s*)((\d+)?)(?=\4|\s*)(?<=\1|\2|\s*)(\.?)(?=\5|\s*)(?<=\4)((\d+)?)$/
