查漏補缺之開g的正則

2022-01-14 00:33:17 字數 1435 閱讀 4018

當正規表示式開了掛,就會多乙個g的修飾符,用於表示全域性匹配。然而這個表示式卻不僅僅是多了個g這麼簡單,它的方法也會發生改變。由於之前不是太了解,今天好好捋一下,且聽我細細道來。

正規表示式的屬性基本上與正規表示式的字面量的組成部分一一對應:

正則有兩大方法:testexec,其中exec尤其強大,但此處只談稍微弱一點的test。

var re1 = /foo/, re2 = /foo/g;

re1.test('foobar') // true

re1.test('foobar') // true

re2.test('foobar') // true

re2.test('foobar') // false

為啥多了g之後,就會一次成功,一次失敗呢?因為加上g之後正則會對字串進行全域性匹配。也就是說,當正規表示式第一次匹配成功之後,如果沒有匹配到字串末尾,帶g的正規表示式會繼續匹配下去,直到字串末尾;而不帶g的正規表示式在首次匹配成功之後,就會從頭開始匹配。

乙個不恰當的比喻是把正則比做

查漏補缺之Redis學習要點

由於自己在it行業混跡多年 碼農 但依然對於一些基礎元件一知半解,因此做了這個查漏補缺系列,希望和朋友們一起 遇到的一些問題,同時也希望能得到一些大神的指點。這篇文章算是 查漏補缺之redis 系列的引言吧,主要是丟擲問題,學redis究竟要學習一些什麼?自己對redis有哪些疑問?也是方便自己對照...

Android面試之查漏補缺之Context

什麼是context?它描述的是乙個應用程式環境的資訊,即上下文。該類是乙個抽象 abstract class 類,android提供了該抽象類的具體實現類。通過它我們可以獲取應用程式的資源和類,也包括一些應用級別操作,例如 啟動乙個activity,傳送廣播,接受intent資訊等。說了這三點好像...

js的Promose(查漏補缺)

promise.resolve 2 finally res then res const p new promise resolved,rejected newpromise resolved,rejected promise.all p then result catch err const te...