5.【正則】屬性员舵、方法

reg.exec()

reg.lastIndex代表使用reg.exec()方法,當前的索引位置
  • reg.exec與str.match類似藕畔,但不同的是马僻,使用g全局匹配時,exec每次只會匹配出一個結(jié)果注服,每次執(zhí)行exec會移動index韭邓,下次匹配時從lastIndex的位置開始
  • 執(zhí)行的結(jié)果為類數(shù)組,其中包含index屬性
var reg = /ab/g
var str = "ababab"
console.log(reg.lastIndex) //0
reg.exec(str) // ["ab", index: 0]
reg.exec(str) // ["ab", index: 2]
reg.exec(str) // ["ab", index: 4]
// 匹配結(jié)果為null時溶弟,則會從0開始重新匹配
  • lastIndex為可寫屬性女淑,通過手動調(diào)整lastIndex,可以控制reg.exec()的執(zhí)行位置
var reg = /test/g
var str = "testtest"
reg.lastIndex = 4
reg.exec(str) // ["test", index: 4]
reg.lastIndex = 5
reg.exec(str) // null
  • 下面這種情況要注意辜御,如果reg根據(jù)lastIndex未直接匹配出結(jié)果鸭你,index則自動向后移,直到匹配出來為止,并且index為匹配出結(jié)果的起始位
var reg = /test/g
var str = "testtest"
reg.lastIndex = 1
reg.exec(str) // ["test", index: 4]  
  • 子表達式 正則表達式里的()部分為子表達式袱巨,如果reg中存在子表達式阁谆,reg.exec()的執(zhí)行結(jié)果中第二位為子表達式
var reg = /(\w)\1(\w)\2/g
var str = "aabbccddeeff"
reg.exec(str) // ["aabb", "a", "b", index: 0] 其中a和b為子表達式
reg.exec(str) // ["ccdd", "c", "d", index: 4] 其中a和b為子表達式

str.replace()

  • str.replace(a, b)將str中的a換成b,默認只換其中的一個
  • str.replace是生成一個新的字符串愉老,原字符串不會變化
  • a可以換成正則场绿,如果使用了g則為全局匹配,相當于replaceAll
var str = "abca"
var reg = /a/g
str.replace(reg, 'd') // dbcd
  • 通過$符可以獲取子表達式
// 將xy換成xxyy
var reg = /(\w)(\w)/g
var str = "ab"
str.replace(reg, "$1$1$2$2")  // aabb 通過$1拿到第一個子表達式a嫉入,通過$2拿到第二個子表達式
// 將xxyy換成yyxx
var str = "aabbbbcc" // 換完后的結(jié)果為bbaaccbb
var reg = /(\w){1,2}(\w){1,2}/g 
// 或者 reg = /(\w)\1(\w)\2/g
str.replace(reg, "$2$2$1$1") // bbaaccbb
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末裳凸,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子劝贸,更是在濱河造成了極大的恐慌姨谷,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件映九,死亡現(xiàn)場離奇詭異梦湘,居然都是意外死亡,警方通過查閱死者的電腦和手機件甥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門捌议,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人引有,你說我怎么就攤上這事瓣颅。” “怎么了譬正?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵宫补,是天一觀的道長。 經(jīng)常有香客問我曾我,道長粉怕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任抒巢,我火速辦了婚禮贫贝,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蛉谜。我一直安慰自己稚晚,他們只是感情好,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布型诚。 她就那樣靜靜地躺著客燕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪俺驶。 梳的紋絲不亂的頭發(fā)上幸逆,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天,我揣著相機與錄音暮现,去河邊找鬼还绘。 笑死,一個胖子當著我的面吹牛栖袋,可吹牛的內(nèi)容都是我干的拍顷。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼塘幅,長吁一口氣:“原來是場噩夢啊……” “哼昔案!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起电媳,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤踏揣,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后匾乓,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捞稿,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年拼缝,在試婚紗的時候發(fā)現(xiàn)自己被綠了娱局。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡咧七,死狀恐怖衰齐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情继阻,我是刑警寧澤耻涛,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站瘟檩,受9級特大地震影響犬第,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜芒帕,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一歉嗓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧背蟆,春花似錦鉴分、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至垛叨,卻和暖如春伦糯,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工敛纲, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留喂击,地道東北人。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓淤翔,卻偏偏與公主長得像翰绊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子旁壮,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 上一篇:常用正則表達式 正則捕獲的懶惰性及解決方案 正則捕獲? :把一個字符串和正則匹配的部分獲取到? [正則方法...
    追馬的時間種草閱讀 348評論 0 0
  • 字符串檢索相關(guān)的操作總結(jié) 前言擴展: 正則 在javascirpt里面可以用兩種方法創(chuàng)建一個正則對象 1监嗜、使用字面...
    Point_halo閱讀 1,764評論 0 12
  • 帶你入門(幾個小小點) 目錄 正則表達式的使用 正則表達式的基本構(gòu)成元素 正則中的類(分類),基本的元字符 + 五...
    南航閱讀 685評論 0 2
  • 表情是什么抡谐,我認為表情就是表現(xiàn)出來的情緒裁奇。表情可以傳達很多信息。高興了當然就笑了麦撵,難過就哭了框喳。兩者是相互影響密不可...
    Persistenc_6aea閱讀 124,193評論 2 7
  • 16宿命:用概率思維提高你的勝算 以前的我是風險厭惡者,不喜歡去冒險厦坛,但是人生放棄了冒險五垮,也就放棄了無數(shù)的可能。 ...
    yichen大刀閱讀 6,033評論 0 4