自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

javascript的search和match方法

開發(fā) 前端
String類是不可變的,對String類的任何改變,都是返回一個新的String類對象。String 對象是 System.Char 對象的有序集合,用于表示字符串。String 對象的值是該有序集合的內(nèi)容,并且該值是不可變的。本文介紹基于string的方法search和match,一起來看。

searchmatch都是javascript基于string的方法,都與字符匹配有關(guān)。

String類是不可變的,對String類的任何改變,都是返回一個新的String類對象。String 對象是 System.Char 對象的有序集合,用于表示字符串。String 對象的值是該有序集合的內(nèi)容,并且該值是不可變的。

search在一個字串對象(string object)中查找關(guān)鍵詞字串(規(guī)范表達式,regular expression),若匹配(即在目標字串中成功找到關(guān)鍵詞)則返回關(guān)鍵詞在目標字串中***次出現(xiàn)的位置序列,反之,如果不匹配,就返回-1。以下示例在目標字串“HELLO WORLD!”中查找字母“L”,返回值為2,因為字母“L”***次出現(xiàn)時其常規(guī)序列排在第三位,而JS從0開始起算,字母“H”序列為0,字母“E”為1,字母“L”當(dāng)然就是2了:

  1. MyStr="HELLO WORLD!";  
  2. re="L";  
  3. showstr=MyStr.search(re);  
  4. alert(showstr); 

我們看得出來,search方法只關(guān)心有無匹配,一旦找到匹配,就提供返回值,并且立刻中斷查找的執(zhí)行。上例中的目標字串(MyStr)有三個字母“L”,后兩個search并不關(guān)心,因為條件已經(jīng)滿足,它退出了自身的匹配查找工作。據(jù)此原理,當(dāng)我們只需要驗證有無匹配的操作時,用search既簡單又高效。以下再給出一個示例,這是一個自定義函數(shù),它使用search方法簡捷地完成字符匹配檢測操作,若有匹配則將目標字串完整提取出來:

  1. function key_search(re, str){  
  2. echo = (str.search(re)!=-1 ? str : "無匹配");  
  3. return(echo);  

match也是在目標字串對象中尋找與關(guān)鍵詞匹配與否的一個方法,它的強大功能在于通過關(guān)鍵詞的規(guī)則創(chuàng)建可以實現(xiàn)復(fù)雜搜尋功能,非常靈活。

不建立規(guī)則前提下,match可當(dāng)作search來使用,語法也一樣,不同的是,它返回的是關(guān)鍵詞自身(若匹配)和null(若不匹配)——這沒有關(guān)系,如果只是為了檢測匹配。顯然地,這不是它存在于javascript世界中的理由,它定有不同于search的特色,即通過規(guī)則創(chuàng)建完成實現(xiàn)通盤匹配。看下面例子:

 

  1. str = "黑馬在線動力是黑馬的網(wǎng)站。是嗎,黑馬?";   
  2. new_ar = str.match(/黑馬/gi);   
  3. echo=new_ar + " 關(guān)鍵詞在原句中出現(xiàn)了 " + new_ar.length + " 次";  
  4. alert(echo); 

上例中,第二行為創(chuàng)建規(guī)則表達式“/黑馬/gi”,雙反斜杠內(nèi)的“黑馬”為搜尋關(guān)鍵詞,其后的參數(shù)“gi”表示全部匹配(同等于“g”,若只用“i”,只匹配一次)。這樣的規(guī)則用于match方法,將返回有規(guī)則的數(shù)組,其形式為“黑馬,黑馬,黑馬”,還可用length方法得到數(shù)組的長度(例中結(jié)果為3)。

【編輯推薦】

  1. Web移動應(yīng)用 HTML5 CSS和JavaScript
  2. Javascript中的函數(shù)聲明和函數(shù)表達式
  3. 論Javascript的類繼承
  4. 如何判斷Javascript對象是否存在
  5. 快速排序(Quicksort)的Javascript實現(xiàn)
責(zé)任編輯:于鐵 來源: 百度空間
相關(guān)推薦

2015-03-13 15:21:23

phpgoogleapi

2011-09-09 18:41:43

win7Windows Sea

2010-10-08 09:42:23

JavaScript方

2021-12-28 20:06:43

JavaScript開發(fā)數(shù)組

2015-04-17 16:44:22

swiftOC

2023-10-11 13:13:46

?PostmanJavaScrip

2011-10-19 16:21:45

2024-08-02 15:04:14

JavaScript服務(wù)器

2024-06-25 12:52:40

JavaScript開發(fā)

2021-08-03 10:01:37

JavaScript事件方法

2009-11-30 17:16:34

PHP函數(shù)preg_m

2009-07-21 14:38:08

Scalamatch表達式break和conti

2014-04-03 10:16:44

JavaScriptCSS

2022-01-26 08:47:17

部署應(yīng)用分布式

2009-12-10 15:58:21

PHP preg_ma

2019-03-14 15:40:13

JavaScript CSS 工具

2021-02-07 22:59:55

JavaScript編程方法鏈

2020-04-07 00:10:16

javascrip語言異步

2016-10-13 19:33:10

javascript數(shù)組indexOf

2021-04-26 07:51:00

JavaScript方法函數(shù)
點贊
收藏

51CTO技術(shù)棧公眾號