正則表達式

概念: 正則表達式是一個包含正常字符與元字符的用於匹配的字符串對象git

如何建立正則表達式

  1. 構造函數:new RegExp('map')
  2. 字面量/map/

    經常使用元字符

  3. 基本元字符 . () [] |
  4. 限定元字符
      • ? {n} {n,} {n,m}
  5. 首位元字符 ^ $
  6. 簡寫元字符 \d \D \s \S \w \w
  7. 其餘 反向引用 \數字 匹配但不捕獲 (?:)正則表達式

     . 除了換行之外的任意字符 [] 出如今[]中的任意一個字符 () 一方面提升優先級,另外一面分組 | 或 具備最低優先級  * 緊跟在前面的字符出現0次或屢次,默認儘量多的匹配 {0,} + 緊跟在前面的字符出現1次或屢次,默認儘量多的匹配 {1,} ? 緊跟在前面的字符出現0次或1次 {0,1} {n} 緊跟在前面的字符出現n次 {n,} 緊跟在前面的字符至少出現n次 {n,m} 緊跟在前面的字符出現n-m次 ^ 放在正則一開始, 表示匹配必須以 xxx 開頭 放在 [] 中表示 否認, [^abc] $ 放在正則的結尾處, 表示必須以 xxx 結尾 在替換中使用 $數字 表示組引用 \d 數字 digit \D 非數字 \s 空白(空格, 換行, ...) space \S 非空白 [\S\s] 表示任意的一個字符 \w 文字: 數字, 字母, 下劃線 word \W 非文字 \數字 引用前面匹配到的組 <div>...</div> <([^>]+)>[^<]+</\1> (?:). 除了換行之外的任意字符 [] 出如今[]中的任意一個字符 () 一方面提升優先級,另外一面分組 | 或 具備最低優先級  * 緊跟在前面的字符出現0次或屢次,默認儘量多的匹配 {0,} + 緊跟在前面的字符出現1次或屢次,默認儘量多的匹配 {1,} ? 緊跟在前面的字符出現0次或1次 {0,1} {n} 緊跟在前面的字符出現n次 {n,} 緊跟在前面的字符至少出現n次 {n,m} 緊跟在前面的字符出現n-m次 ^ 放在正則一開始, 表示匹配必須以 xxx 開頭 放在 [] 中表示 否認, [^abc] $ 放在正則的結尾處, 表示必須以 xxx 結尾 在替換中使用 $數字 表示組引用 \d 數字 digit \D 非數字 \s 空白(空格, 換行, ...) space \S 非空白 [\S\s] 表示任意的一個字符 \w 文字: 數字, 字母, 下劃線 word \W 非文字 \數字 引用前面匹配到的組 <div>...</div> <([^>]+)>[^<]+</\1> (?:)

    經常使用方法:數組

  8. 正則.test(str) 表示這個字符串是否符合正則表達式函數

  9. 正則.exec(str) 表示利用正則將字符串中複合的子字符串截取胡來,存儲到數組中,每次只取一個
 取出字符串中的數字到數組中 var str='1abdf2lkui19erehgih354hshu6'; var arr=[]; var r=/\d+/g; var m; while(m=r.exec(str)){ console.log(m); arr.push(m[0]); } console.log(arr); //["1", "2", "19", "354", "6"]取出字符串中的數字到數組中 var str='1abdf2lkui19erehgih354hshu6'; var arr=[]; var r=/\d+/g; var m; while(m=r.exec(str)){ console.log(m); arr.push(m[0]); } console.log(arr); //["1", "2", "19", "354", "6"]

3.字符串.replace(正則,替換字符) 表示將字符串中符合正則的內容,替換成指定的字符ui

 替換字符串中的數字爲* var str='1abdf2lkui19erehgih354hshu6'; var res=str.replace(/\d+/g,'*'); console.log(res); //*abdf*lkui*erehgih*hshu*替換字符串中的數字爲* var str='1abdf2lkui19erehgih354hshu6'; var res=str.replace(/\d+/g,'*'); console.log(res); //*abdf*lkui*erehgih*hshu*
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息