正則表達式

元字符:

\d : 匹配任意一個數字,0~9 中的任意一個

\s : 匹配任意一個空白字符 比如:空格 回車 tab

\b : 匹配一個單詞邊界,不匹配任何字符

\w : 匹配任意一個字符( 字母、 數字、下劃線 ) . : 匹配任意一個字符,除了換行符( \n )

\n : 查找換行符

\u : 通常用來匹配漢字

表達式 "\d","\s","\b","\w",對應的大寫字母表示相反的意義 如:\D 匹配所有的非數字字符




量詞/限定符:

較為常用的包括: “+”, “*”,以及 “?”。其中,“+”元字符規定其前導字符必須在目標對象中連續出現一次或多次,“*”元字符規定其前導字符必須在目標對象中出現零次或連續多次,而“?”元字符規定其前導對象必須在目標對象中連續出現零次或一次。

下面,就讓我們來看一下正則表達式元字符的具體應用。

/fo+/

因為上述正則表達式中包含“+”元字符,表示可以與目標對象中的 “fo”, “foo”, 或者 “fooo” 等在字母f后面連續出現一個或多個字母o的字符串相匹配。

/eg*/

因為上述正則表達式中包含“*”元字符,表示可以與目標對象中的 “e”, “eg” 或者 “egg” 等在字母e后面連續出現零個或多個字母g的字符串相匹配。

/Wi?/

因為上述正則表達式中包含“?”元字符,表示可以與目標對象中的 “W”, 或者 “Wi”,等在字母i后面連續出現零個或一個字母 i 的字符串相匹配。

除了元字符之外,用戶還可以精確指定模式在匹配對象中出現的頻率。例如,

/jim{2,6}/

上述正則表達式規定字符m可以在匹配對象中連續出現2-6次,因此,上述正則表達式可以同jimmy或jimmmmmy等字符串相匹配。

如果/jim{2}/表示只匹配兩個??jimmy

/[0-9]/表示匹配0-9之間的數字與/d相同中括號內可以寫字母符號數字等

^n : 匹配任何開頭為 n 的字符串。

n$ : 匹配任何結尾為 n 的字符串。






其他:

| : 匹配左邊或者右邊

\ : 轉義符 特殊標點符號,在前面加 \ 后,就代表該符號本身

^ 要匹配 "^" 字符本身,請使用 \^

( ) 要匹配小括號本身,請使用 \( 和 \)其他特殊標點符號 [ ] { } . ? + * |




var reg2=/\s{1,}/g;//匹配1到N位空白字符;{1,}等同于+

RegExp(正則表達式)的方法;

test:檢索字符串中指定的值 返回 true 或 false reg.test(str);

exec: 檢索字符串返回查找結果的第一個值 reg.exec(str);

test使用方法? ? RegExpObject.test(string)

? ?如果字符串 string 中含有與 RegExpObject 匹配的文本,則返回 true,否則返回 false。

var reg0=new RegExp(“a","g");? ? 等同于? ? ?var reg1 = /a/g;? ?

g 為可選字符串,包含屬性g、i 和 m

g:代表全局匹配 (繼續往下匹配)

i:代表不區分大小寫匹配

m:代表多行匹配,只對^和$模式有用

console.log(reg0.test("abcd"));


exec 使用方法舉例

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容