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...