隨手查閱的正則匹配筆記

2021-09-14 02:39:58 字數 1940 閱讀 8844

var re = /quick\s(brown).+?(jumps)/ig;

var result = re.exec('the quick brown fox jumps over the lazy dog');

// 就算有 g 標識,通過 exec 也只能獲取到首個匹配項

// result[0]: quick brown fox jumps

var re = /quick\s(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()

'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()

// 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) 

var newstring = 'abc12345#$*%'.replace(/([^\d]*)(\d*)([^\w]*)/, replacer);

console.log(newstring); // abc - 12345 - #$*%

非常好用的乙個正則編寫工具,我會點開左側選單欄裡的cheatsheet來學習編寫符合我需求的正規表示式。
視覺化檢視正規表示式(複雜版),很直觀,神器一枚
視覺化檢視正規表示式(簡化版)

SparkDataSource的隨手筆記分享

真的只是個隨手筆記。記錄下一些操作過程。最近需要實現一些spark邏輯計畫和物理計畫的優化,遂打算寫一點簡單的資料來源來測試。突然想到了oracle常見的scott tiger裡的資料。遂打算使用該資料。畢竟裝oracle是個大工程,沒有必要為了做個測試單獨安裝乙個oracle,於是用docker,...

常用的正則匹配

很多不太懂正則的朋友,在遇到需要用正則校驗資料時,往往是在網上去找很久,結果找來的還是不很符合要求。所以我最近把開發中常用的一些正規表示式整理了一下,在這裡分享一下。給自己留個底,也給朋友們做個參考。一 校驗數字的表示式 1 數字 0 9 2 n位的數字 d 3 至少n位的數字 d 4 m n位的數...

常用的正則匹配

判斷是否是可以訪問的鏈結 deprecated 不能滿足頭像url判斷規則,可能url過長導致anr param str return public static boolean isurl string str pp hh tt pp ss a za z0 9 a za z0 9 return p...