JavaScript正則表達式19例(15)

(……續例14)正則表達式

例15:非貪婪匹配
ide

  
  
  
  
  1. void function reg_15()  
  2. {  
  3.     var s = "Live for nothing,die for something";  
  4.     var r = /.*thing/; //默認貪婪模式  
  5.     alert(s.match(r));  
  6.     r = /.*?thing/; //非貪婪模式  
  7.     alert(s.match(r));  

JavaScript中的正則表達式默認的使用貪婪匹配模式,即儘可能多的去匹配內容,這個例子分別演示默認的貪婪匹配模式和指定的非貪婪匹配模式。
行6:在待匹配內容以前加上?符號,則表示使用非貪婪模式,即儘可能少的去匹配內容。
運行結果:第一次匹配因爲是默認的貪婪模式,因此匹配了整個字符串Live for nothing,die for something(在字符串的末尾找到了匹配);而第二次匹配使用了非貪婪模式,因此只匹配了Live for nothing(只要找到匹配則再也不繼續日後匹配)。spa

(未完待續……)ip

相關文章
相關標籤/搜索