摘要:可視化查看正則表達式復雜版,很直觀,神器一枚可視化查看正則表達式簡化版
常見需求如下:
如果你只需要獲取字符串中的首個匹配項
var re = /quicks(brown).+?(jumps)/ig; var result = re.exec("The Quick Brown Fox Jumps Over The Lazy Dog"); // 就算有 g 標識,通過 exec 也只能獲取到首個匹配項 // result[0]: Quick Brown Fox Jumps
使用了 g 標識時(不使用時以下方法也適用),如果你想獲取正則中的組匹配(capture groups)信息
var re = /quicks(brown).+?(jumps)/ig; var result = re.exec("The Quick Brown Fox Jumps Over The Lazy Dog"); // index 1~n 就是組匹配到的結果(此處正則中有兩個括號,則 n 為 2) // result[1]: Brown // result[2]: Jumps
關于 exec 的更多詳細說明可以查看 MDN 文檔 RegExp.prototype.exec()
不使用 g 標識時,如果你想獲取正則中的組匹配(capture groups)信息
"mockid=272;其他說明文字……".match(/mockid=(d+);/i) // ["mockid=272;", "272", index: 0, input: "mockid=272;其他說明文字……"] // 如果加上 g 標識,就只能得到 ["mockid=272;"]
匹配多種可能出現的值,獲取最終匹配到的值
"GET/path/to/some/place".match(/^(GET|POST|PUT|DELETE)/gi) // 輸出:["GET"]
關于 match 的更多詳細說明可以查看 MDN 文檔 String.prototype.match()
只想知道是否匹配某個正則(true or false)
// RegExp.prototype.test() var str = "hello world!"; var result = /^hello/.test(str); console.log(result); // true
關于 test 的更多詳細說明可以查看 MDN 文檔 RegExp.prototype.test()
// String.prototype.search() var str = "hey JudE"; var re = /[A-Z]/g; var re2 = /[.]/g; console.log(str.search(re)); // returns 4, which is the index of the first capital letter "J" console.log(str.search(re2)); // returns -1 cannot find "." dot punctuation // 因此可以直接判斷返回負值時匹配結果為 false
關于 search 的更多詳細說明可以查看 MDN 文檔 String.prototype.search()
對匹配成功的字符串進行處理
function replacer(match, p1, p2, p3, offset, string) { // p1:([^d]*) p2:(d*) p3:([^w]*) // p1 非數字, p2 數字, p3 非文字 return [p1, p2, p3].join(" - "); } var newString = "abc12345#$*%".replace(/([^d]*)(d*)([^w]*)/, replacer); console.log(newString); // abc - 12345 - #$*%推薦正則工具:
RegExr
非常好用的一個正則編寫工具,我會點開左側菜單欄里的 cheatsheet 來學習編寫符合我需求的正則表達式。
Debuggex
可視化查看正則表達式(復雜版),很直觀,神器一枚
Regexper
可視化查看正則表達式(簡化版)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/93214.html
摘要:于是對應著,對應著輸出月日年九前瞻正則表達式從文本頭部想穩步開始解析,文本尾部方向,稱為前。只是條件不參與匹配找英文數字下劃線而且后面跟著數字的。 基礎知識 一 元字符 單詞邊界 d 數字 [0-9] w 英文 數字 下劃線 [a-z0-9_] s 空白字符[ v f] 水平制表符,v垂直制表符, 換行符, 回車符,f換頁符 反義 B 非單詞邊界 D [^0-9] W [^...
摘要:于是對應著,對應著輸出月日年九前瞻正則表達式從文本頭部想穩步開始解析,文本尾部方向,稱為前。只是條件不參與匹配找英文數字下劃線而且后面跟著數字的。 基礎知識 一 元字符 單詞邊界 d 數字 [0-9] w 英文 數字 下劃線 [a-z0-9_] s 空白字符[ v f] 水平制表符,v垂直制表符, 換行符, 回車符,f換頁符 反義 B 非單詞邊界 D [^0-9] W [^...
閱讀 2469·2021-11-17 09:33
閱讀 757·2021-11-04 16:13
閱讀 1328·2021-10-14 09:50
閱讀 691·2019-08-30 15:53
閱讀 3657·2019-08-30 14:18
閱讀 3267·2019-08-30 14:14
閱讀 2092·2019-08-30 12:46
閱讀 3177·2019-08-26 14:05