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

相關文章
相關標籤/搜索