javascript中search和match方法如何使用,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供無(wú)為網(wǎng)站建設(shè)、無(wú)為做網(wǎng)站、無(wú)為網(wǎng)站設(shè)計(jì)、無(wú)為網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、無(wú)為企業(yè)網(wǎng)站模板建站服務(wù),10余年無(wú)為做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
search和match都是javascript基于string的方法,都與字符匹配有關(guān)。
String類是不可變的,對(duì)String類的任何改變,都是返回一個(gè)新的String類對(duì)象。String 對(duì)象是 System.Char 對(duì)象的有序集合,用于表示字符串。String 對(duì)象的值是該有序集合的內(nèi)容,并且該值是不可變的。
search在一個(gè)字串對(duì)象(string object)中查找關(guān)鍵詞字串(規(guī)范表達(dá)式,regular expression),若匹配(即在目標(biāo)字串中成功找到關(guān)鍵詞)則返回關(guān)鍵詞在目標(biāo)字串中***次出現(xiàn)的位置序列,反之,如果不匹配,就返回-1。以下示例在目標(biāo)字串“HELLO WORLD!”中查找字母“L”,返回值為2,因?yàn)樽帜浮癓”***次出現(xiàn)時(shí)其常規(guī)序列排在第三位,而JS從0開始起算,字母“H”序列為0,字母“E”為1,字母“L”當(dāng)然就是2了:
MyStr="HELLO WORLD!"; re="L"; showstr=MyStr.search(re); alert(showstr);
我們看得出來(lái),search方法只關(guān)心有無(wú)匹配,一旦找到匹配,就提供返回值,并且立刻中斷查找的執(zhí)行。上例中的目標(biāo)字串(MyStr)有三個(gè)字母“L”,后兩個(gè)search并不關(guān)心,因?yàn)闂l件已經(jīng)滿足,它退出了自身的匹配查找工作。據(jù)此原理,當(dāng)我們只需要驗(yàn)證有無(wú)匹配的操作時(shí),用search既簡(jiǎn)單又高效。以下再給出一個(gè)示例,這是一個(gè)自定義函數(shù),它使用search方法簡(jiǎn)捷地完成字符匹配檢測(cè)操作,若有匹配則將目標(biāo)字串完整提取出來(lái):
function key_search(re, str){ echo = (str.search(re)!=-1 ? str : "無(wú)匹配"); return(echo); }
match也是在目標(biāo)字串對(duì)象中尋找與關(guān)鍵詞匹配與否的一個(gè)方法,它的強(qiáng)大功能在于通過關(guān)鍵詞的規(guī)則創(chuàng)建可以實(shí)現(xiàn)復(fù)雜搜尋功能,非常靈活。
不建立規(guī)則前提下,match可當(dāng)作search來(lái)使用,語(yǔ)法也一樣,不同的是,它返回的是關(guān)鍵詞自身(若匹配)和null(若不匹配)——這沒有關(guān)系,如果只是為了檢測(cè)匹配。顯然地,這不是它存在于javascript世界中的理由,它定有不同于search的特色,即通過規(guī)則創(chuàng)建完成實(shí)現(xiàn)通盤匹配。看下面例子:
str = "黑馬在線動(dòng)力是黑馬的網(wǎng)站。是嗎,黑馬?"; new_ar = str.match(/黑馬/gi); echo=new_ar + " 關(guān)鍵詞在原句中出現(xiàn)了 " + new_ar.length + " 次"; alert(echo);
上例中,第二行為創(chuàng)建規(guī)則表達(dá)式“/黑馬/gi”,雙反斜杠內(nèi)的“黑馬”為搜尋關(guān)鍵詞,其后的參數(shù)“gi”表示全部匹配(同等于“g”,若只用“i”,只匹配一次)。這樣的規(guī)則用于match方法,將返回有規(guī)則的數(shù)組,其形式為“黑馬,黑馬,黑馬”,還可用length方法得到數(shù)組的長(zhǎng)度(例中結(jié)果為3)。
關(guān)于javascript中search和match方法如何使用問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
分享標(biāo)題:javascript中search和match方法如何使用
文章路徑:http://aaarwkj.com/article28/igggjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站收錄、網(wǎng)站制作、響應(yīng)式網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)公司、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)