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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

正则 - 阮一峰

發布時間:2023/12/10 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 正则 - 阮一峰 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學習地址

一 正則實例方法

1. test

  • 正則實例.test返回布爾值
var r = /x/g; var s = '_x_x';r.lastIndex // 0 r.test(s) // truer.lastIndex // 2 r.test(s) // truer.lastIndex // 4 r.test(s) // false
  • 死循環,因為while循環的每次匹配條件都是一個新的正則表達式,導致lastIndex屬性總是等于0。
var count = 0; while (/a/g.test('babaa')) count++;
  • fixed
var count = 0; var test1 = /a/g while (test1.test('babaa')) count++; console.log(count) // 3

2. exec

  • 正則實例.exec返回數組,匹配不到時返回null
  • g全局 + lastIndex : 會從上次結束的位置繼續
var reg = /a/g; var str = 'abc_abc_abc'var r1 = reg.exec(str); r1 // ["a"] r1.index // 0 reg.lastIndex // 1var r2 = reg.exec(str); r2 // ["a"] r2.index // 4 reg.lastIndex // 5var r3 = reg.exec(str); r3 // ["a"] r3.index // 8 reg.lastIndex // 9var r4 = reg.exec(str); r4 // null reg.lastIndex // 0
  • 組匹配:如果正則表示式包含圓括號(即含有“組匹配”),第一個成員是整個匹配成功的結果,后面的成員就是圓括號對應的匹配成功的組。
var s = '_x_x'; var r = /_(x)/;r.exec(s) // ["_x", "x"]
  • 第一個成員是第一個匹配上的,不會返回全部
var r = /a(b+)a/; var arr = r.exec('_abbba_aba_');arr // ["abbba", "bbb"]
  • 返回所有匹配
var reg = /a/g; // 不加g會死循環 var str = 'abc_abc_abc'while(true) {var match = reg.exec(str);if (!match) break;console.log('#' + match.index + ':' + match[0]); } // #0:a // #4:a // #8:a

二 字符串方法

1. match

  • 字符串.match():返回一個數組,如果正則表達式帶有g修飾符,成員是所有匹配的子字符串(該方法與正則對象的exec方法行為不同)

  • 字符串的search/replace/split都可以和正則配合使用

  • 去除所有空格

var str = ' #id div.class '; str = str.replace(/\s+/g, '') console.log(str) // #iddiv.class

2. replace

  • replace方法的第二個參數還可以是一個函數,將每一個匹配內容替換為函數返回值。
'3 and 5'.replace(/[0-9]+/g, function (match) {return 2 * match; }) // "6 and 10"var a = 'The quick brown fox jumped over the lazy dog.'; var pattern = /quick|brown|lazy/ig;a.replace(pattern, function replacer(match) {return match.toUpperCase(); }); // The QUICK BROWN fox jumped over the LAZY dog.

replace模板替換

  • 正則所匹配的內容會被第二個參數的返回值替換掉。

總結

以上是生活随笔為你收集整理的正则 - 阮一峰的全部內容,希望文章能夠幫你解決所遇到的問題。

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