RegExp

lvxfcjf發表於2021-09-09

d : 數字

w  字母數字下劃線

 .  任意字元

 *  任意個字元(包括0)

 +  至少一個字元

 ?  0個或1個字元

{n}  n個字元

{n,m} n-m個字元

s   表示至少有一個空格也可以是tab鍵空格

A|B 可以匹配A或B,所以[J|j]ava[S|s]cript可以匹配'JavaScript''Javascript''javaScript'或者'javascript'

^表示行的開頭,^d表示必須以數字開頭。

$表示行的結束,d$表示必須以數字結束。


要做更精確地匹配,可以用[]表示範圍

[0-9a-zA-Z_]可以匹配一個數字、字母或者下劃線;

[0-9a-zA-Z_]+可以匹配至少由一個數字、字母或者下劃線組成的字串,比如'a100''0_Z''js2015'等等;

[a-zA-Z_$][0-9a-zA-Z_$]*可以匹配由字母或下劃線、$開頭,後接任意個由一個數字、字母或者下劃線、$組成的字串,也就是JavaScript允許的變數名;

[a-zA-Z_$][0-9a-zA-Z_$]{0, 19}更精確地限制了變數的長度是1-20個字元(前面1個字元+後面最多19個字元)。

JavaScript有兩種方式建立一個正規表示式:

第一種方式是直接透過/正規表示式/寫出來,第二種方式是透過new RegExp('正規表示式')建立一個RegExp物件。

兩種寫法是一樣的:

var re1 = /ABC-001/;var re2 = new RegExp('ABC\-001');re1; // /ABC-001/re2; // /ABC-001/

最後可用test()測試正則是否匹配相應字元


注:遇到特殊字元需要轉義符"";

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3486/viewspace-2816845/,如需轉載,請註明出處,否則將追究法律責任。