且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

JavaScript正则表达式19例(17)

更新时间:2022-09-22 12:30:53

(……续例16)

例17:顺序正向、顺序负向预搜索匹配


  1. void function reg_17()  
  2. {  
  3.     var s = "1024 used 2048 free";  
  4.     var r = /\d{4}(?= used)/g; //4位数字后紧跟" used"  
  5.     alert(s.match(r));  
  6.     r = /\d{4}(?! used)/g; //4位数字后不能跟有" used"  
  7.     alert(s.match(r));  
  8.     //JScript不支持逆序正向和逆序负向预搜索  

行4:(?= used)符号表示预搜索,即只用来作为匹配的条件,但其本身并不用于匹配,这里是指4位数字后必须是 used,注意used前面有一个空格,共计5个字符,但 used这5个字符并不参与匹配。
行6:(?! used)符号同样表示预搜索,不同的是,要求后面不是 used这5个字符。
运行结果:第一次匹配了1024这4个字符,因为后面恰好是 used这5个字符;第二次匹配了2048这4个字符,因为只有2048满足:由4个数字构成且后面不是 used这5个字符。

(未完待续……)










本文转自 BlackAlpha 51CTO博客,原文链接:http://blog.51cto.com/mengliao/469272,如需转载请自行联系原作者