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

相关文章
相关标签/搜索