日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

正则基础学习1 这俩天补上正则全部内容,让你简单的学会正则,欢迎收藏当文档

發布時間:2023/12/31 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 正则基础学习1 这俩天补上正则全部内容,让你简单的学会正则,欢迎收藏当文档 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

正則 詳解 包括小案例 可以做復習筆記和查看小文檔

密碼驗證:

var reg = /^(?=\D+\d)(?=.*[A-Z])[a-zA-Z0-9]{8-16}$/;

正則表達式修飾符

g i m g // 全局匹配 i // 不區分大小寫 m // 多行匹配 \n 產生的換行

reg 返回正則表達式基礎

var reg = /a/g console.log(new reg.constructor()); console.log(reg.compile());

exec(“str”) 在字符串中找到對應正則的內容 index為下標開始的位置 全局匹配無效

var reg = /a/g console.log(reg.exec("bacead")); // outPut // ['a', index: 1, input: 'bacead', groups: undefined]

test(“str”) 是否可以在字符串中找到滿足條件的內容 返回true或false

var reg = /a/gconsole.log(reg.test("bbcebd")); // outPut flaseconsole.log(reg.test("bacebd")); // outPut true

console.dir(reg)

outPut=>{/a/gdotAll: falseflags: "g"global: truehasIndices: falseignoreCase: falselastIndex: 0multiline: falsesource: "a"sticky: falseunicode: false[[Prototype]]: Object}// source 表示 正則內容// flags 對應正則修飾符

字符串方法 replace() search() match() split()

// search 方法 可以按照條件查找 var str = "1asdfacdf"; var index1 = str.search("a"); var index2 = str.search(/a/g); console.log(index); // 1 1// 擴展 a后面有c的索引 var str = "1asdfacsdf"; var index = str.search(/a(?=c)/g); console.log(index); // 5// split(str) 截取 console.log("a|b&c|d&e".split("|")); // out ['a', 'b&c', 'd&e'] console.log("a|b&c|d&e".split(/[|&]/)); // ['a', 'b', 'c', 'd', 'e'] console.log("http://www.163.com/news/nsl/index.html?a=1&b=2".split(/(?<=:\/\/.*?)\//));// replace(str) 方法 // 替換所有的a 變成0 var str = "adfnsfasdafa"; str = str.replace(/a/g, "0"); console.log(str);// 可以替換多個,可以每次替換時執行后面的函數,函數內返回return結果會替換內容 str = str.replace(/a/g, (item, index)=>{console.log(item, index); }); console.log(str);// match(str) 如果沒有全局查找,沒有群組, 方法等同于正則的exec // 返回滿足正則全部查找內容 console.log("adfnsfasdafa".match(/a/g)); // (4) ['a', 'a', 'a', 'a'] // 滿足返回群組的內容 console.log("4[ac]".match(/(\d)\[([a-z]*)]/));

元字符

  • 定義: var reg = /a/; a 就是元字符

一、 通配符

  • “.” 匹配任意一個字符

    console.log(“abacad”.match(/a./g));

    // outPut (3) [‘ab’, ‘ac’, ‘ad’]

  • “” 轉義字符 取消元字符原有的作用 恢復為字符特征

    console.log(“aba.c.a.dac”.match(/a./g));
    // outPut (2) [‘a.’, ‘a.’]

  • “[]” 內可以滿足一個字符串的替代 [內的 “.” 不在具有通配符的作用]

    console.log(“abacad”.match(/a[bd]/g));
    // outPut (2) [‘ab’, ‘ad’]

  • [] 內的 - 表示多少到多少

    console.log(“a1a2a3a4a5a6”.match(/a[0-9]/g));
    console.log(“a1a2a3a4a5a6”.match(/a[a-zA-Z]/g));
    // 不要數字 ^ 在中括號中 只能寫在第一位, 若是卸載非第一位 則是字符^
    console.log(“a1a2a3a4a5agavaca6”.match(/a[^0-9]/g));
    // OutPut (3)[‘ag’, ‘av’, ‘ac’]

  • \w => [a-zA-Z0-9_] 任意一個字符

  • \W => [^a-zA-Z0-9_] 除了數字字母下劃線以外的其他字符

  • \d => [0-9] 任意數字

  • \D => [^0-9] 任意非數字

  • \s => 空白字符

  • \S => 非空白字符

  • 練習 匹配YYYY-MM-DD
    \d\d\d\d-\d\d-\d\d ???

    重復 {n};

    console.log("aaaaabbb".match(/a{4}/g)); // 匹配4個次 console.log("aaaaabbb".match(/a{2}/g)); // 匹配4個次 console.log("aaaaabbb".match(/a{1}/g)); // 匹配4個次 console.log("aaaaabbb".match(/a{0}/g)); // 匹配4個次 console.log("acacacacacbbb".match(/ac{4}/g)); // 匹配4個次 console.log("acacacacacbbb".match(/(ac){4}/g)); // 匹配4個次 OUT{['aa', 'aa']2.重復.js:1 ['aaaa']2.重復.js:2 (2) ['aa', 'aa']2.重復.js:3 (5) ['a', 'a', 'a', 'a', 'a']2.重復.js:4 (9) ['', '', '', '', '', '', '', '', '']2.重復.js:5 null2.重復.js:6 ['acacacac'] }

    貪婪匹配 {最小重復次數, 最大重復次數} “?”表示 {} “*” 表示{0,} “+” {1,}

    console.log("aaaaaasdasaaaaaaaaaaaa".match(/a{2,5}/g)); // (4) ['aaaaa', 'aaaaa', 'aaaaa', 'aa'] 優先匹配最大的 console.log("aaaaaasdasaaaabbaaaaaaaa".match(/a{2,5}b{2,5}/g)); // ['aaaabb'] 優先匹配最大的 console.log("aaaaaasdabsaabbaaaabbaaaaaa".match(/a{2,5}b{2,5}/g)); // ['aabb', 'aaaabb']優先匹配最大的 console.log("aaaaaasdasaabbbaababbbbaaaaaabbbbba".match(/a{2,5}b{2,5}/g)); // ['aabbb', 'aaaaabbbbb'] 優先匹配最大的console.log("afdsczvqadfafafafaaa".match(/a{1,}/g))// 表示匹配無窮個a

    \D+\d 表示 非數字起頭,但是后續字符串中至少由一位數字

    .*[A-Z] .是通配符 *{0,} [a-z] 在整個字符串中必須有一個小寫字母

    .*[A-Z] 表示真個字符串中必須包含一個大寫字母

    總結

    以上是生活随笔為你收集整理的正则基础学习1 这俩天补上正则全部内容,让你简单的学会正则,欢迎收藏当文档的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。