正規表示式 的用法

2021-07-02 07:51:26 字數 1602 閱讀 2758

這篇文章主要介紹了js正規表示式中的問號幾種用法,比如+?,*?,?可以停止匹配的貪婪模式,感興趣的朋友可以參考下

在表示重複的字元後面加問號,比如+?,*?,?可以停止匹配的貪婪模式。

var pattern=/\w/;

console.log("aaaa".match(pattern)[0]);

/*結果"aaa";貪婪模式下會盡可能多的匹配,

所以會匹配3個重複的字元

*/var pattern2=/\w?/;

console.log("aaaa".match(pattern2)[0]);

/**結果"aa";加問號後會盡可能少的匹配重複次數,

*所以匹配到了2個重複的字元

*/

在分組內使用?:可以產生沒有編號的分組,比如

var pattern=/(ab)\w+(ba)/;

console.log("abcba_".replace(pattern,"$1"));

/*結果"ab_";匹配到的字元被第乙個分組(ab)

*替換*/

var pattern2=/(?:ab)\w+(ba)/;

console.log("abcba_".replace(pattern2,"$1"));

/**結果"ba_";第一次分組內加入了?:,產生的是乙個

*沒有編號的分組,所以$1匹配的字元是第二個分組,

*也就是第乙個編號分組(ba)相匹配的文字內容

*/

(?=)和(?!);零寬正向斷言和負向斷言,括號內表示某個位置右邊必須和=右邊匹配上,或者不和!後的字元匹配。

var pattern=/str(?=ings)ing/;

console.log("strings.a".match(pattern));

console.log("strings.a".match(/string(?=s)/));

console.log("string_x".match(pattern));

console.log("string_x".match(/string(?=s)/));

/*前兩個結果是["string"],後兩個結果是null;

*str(?=ings)ing/匹配"string",r後面的位置右邊必須跟

*上ings;和/string(?=s)/一樣;匹配"string";g後面的位置

*的右邊必須跟乙個s。"string_x"雖然也含有"string"但是

*不滿足(?=...)括號內的條件

*/

var pattern=/string(?!s)/;

console.log("strings".match(pattern));//null

console.log("string.".match(pattern));//["string"]

/*(?!...)某位置右邊不能有!後匹配的字元,

*string(?!s)/匹配"string","g"後不能跟"s"

*/

在表示重複次數時,代表重複0次或1次

正規表示式用法

正規表示式的概念 什麼是 什麼是正規表示式?是html的乙個變種。一般情況下,論壇不允許你使用 而只能用 替代 是一套由流行的 標籤組成了固定 有統一的格式。使用者只要遵循 規則就可以實現使用者想要的功能。如 想要顯示粗體的how are you 字樣,就應該輸入 how are you而不是輸入h...

正規表示式用法

乙個正規表示式就是由普通字元 例如字元 a 到 z 以及特殊字元 稱為元字元 組成的文字模式。該模式描述在查詢文字主體時待匹配的乙個或多個字串。正規表示式作為乙個模板,將某個字元模式與所搜尋的字串進行匹配。將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 後向引用 或乙個八進位制轉義符。例如,...

正規表示式用法

1 正規表示式 理解 1 就是符合一定規則的字串 2 常見規則 a 字元 x 字元 x。舉例 a 表示字元a 反斜線字元。n 新行 換行 符 u000a r 回車符 u000d b 字元類 abc a b 或 c 簡單類 abc 任何字元,除了 a b 或 c 否定 a za z a到 z 或 a到...