JavaScript正则表达式19例(17)

(……续例16)ide

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

  
  
  
  
  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个字符。ip

(未完待续……)string

相关文章
相关标签/搜索