前端基础21:正则基础
生活随笔
收集整理的這篇文章主要介紹了
前端基础21:正则基础
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
正則
正則驗證
var str = 'hello';var reg = /ll/;reg.test(str)//true 復制代碼- 正則原型上有一個test方法,可以讓所得正則實例調用,返回一個Boolean值 ###量詞元素符 |符號|意義| |--|--| |*|表示0到多次| |+|表示1到多次| |?|表示0或者1次| |{n}|表示出現n次| |{n,}|表示出現n到多次| |{n,m}|表示出現n到m次|
特殊元字符
| \d | 匹配一個數字字符 |
| \D | 匹配非數字 |
| \w | 匹配A-Z,a-z,0-9 |
| \W | 匹配非單詞字符 |
| \s | 匹配任意空字符 |
| \b | 匹配邊界字符 |
| x|y | 匹配x或y |
| [zyx] | 表示xyz任意一個 |
| [^zyx] | 匹配不是zxy任何一個 |
| [a-z] | 匹配a-z的任意一個 |
| [^a-z] | 匹配非a-z |
| ^ | 代表以什么開頭 |
| $ | 代表以什么結束 |
| . | 代表任何字符(除了\n) |
| |表示轉意 | |
| \n | 換行符 |
| ?: | 只匹配不捕獲 |
- 分組:var reg = /1(8|1)9/
- 功能: - 1.提高優先級明確規則 - 2.分組引用 -
- []里面大部分本來有意義的符號變成普通的字符
修飾符
| g | 全局匹配 |
| i | 忽略大小寫 |
| m | 行首行尾 |
- 每一個正則都有一個global,若加g則這個值為true,否則為false
正則捕獲
- exec 參數:
- 1.result是一個數組
- 2.數組的第一項:是正則捕獲到的字符
- 3.數組的第二項:是第一個小括號里面正則匹配到的字符(若多個小括號以此類推)
- 4.index屬性:表示正則開始匹配的位置在原字符串的索引
- 5.input屬性:表示需要匹配的字符串
reg.lastIndex
- 1.每一個正則都有一個lastIndex 默認值為0
- 2.lastIndex就是正則下一次匹配驗證在的位置的索引
每次reg.test后,通過RegExp.$n可以捕獲到第n個分組的內容
var reg = /(\d)(\d)/g;var str = '123';reg.test(str);console.log(RegExp.$1);//1console.log(RegExp.$2);//2 復制代碼match
- 字符串的方法match傳入一個正則
- 如果正則帶g,以數組形式返回匹配到的結果
- 如果傳入match的正則沒有帶g,那么返回效果和reg.exec是一樣的
- 返回一個數組,第一項是正則匹配到的字符,第二項是第一個分組捕獲到的字符(以此類推)和exec屬性相同
replace
- 1.第一項是正則匹配的內容
- 2.第二項到倒數第三項是分組的內容(分組依次類推)
- 3.倒數第二項是本次匹配成功的內容的開始索引
- 4.倒數第一項是需要匹配的字符串
- 5.字符串的內容能被正則匹配到幾次,后面的內容執行(callback)幾次就會執行幾次
- 6.每次return的內容會把匹配到的內容替換
- 思考:
轉載于:https://juejin.im/post/5b9e38516fb9a05d0f16cc49
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的前端基础21:正则基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux编程 9 (shell类型,s
- 下一篇: JS-继承(es5,es6)