2009年1月13日

regexp 特徵

RegExp 一頁 | 二頁 | 三頁 | 四頁 | 五頁 | 特徵 | 方法 | 速查表
prototype $1 至 $9 length constructor global ignoreCase
lastIndex multiline source
RegExp 的特徵

RegExp 繼承了 Function.prototypeObject.prototype 的特徵與方法;這些可以直接用在 RegExp,如同下面的用法,在此不再敖述。前述繼承的特徵與方法,有些只能用在物件型態,有些只能用在物件實體,有些兩者皆可;使用時要注意。

下述特徵必須與 RegExp 配合使用,不能用在物件實體。

prototype

可以增加物件的特徵與方法。

$1 至 $9

使用存入括號,可將符合的子字串存入陣列中,然後用特徵 $1 ~ $9 讀出。

length

存有參數的個數。

  • 此例,Firefox 輸出為 1;IE, Safari, Chrome 為 2。
RegExp 物件實體的特徵
constructor

存有產生物件實體的函式其位置。

global

如果字旗 g 有設,則為 true;否則為 false。唯讀。

ignoreCase

如果字旗 i 有設,則為 true;否則為 false。唯讀。

lastIndex

程式師可設定此特徵,指定符合計算的起始位置。字旗 g 必須有設,才能使用 lastIndex。lastIndex 不可超過字串的長度,否則會導致失敗。符合計算後 lastIndex 會被設為符合子字串的下一個位置。

  • 上例中的 s.replace(),在 IE 會改變 re.lastIndex,內存 9;Firefox, Safari, Chrome 都是 0。所以在 IE 中,下面要加上 re.lastIndex=0,其後的 re.exec( s ) 才會從頭計算。
multiline

如果字旗 m 有設,則為 true;否則為 false。唯讀。

source

內存文法規則。唯讀。


©2008-2009 by ant2legs, All Rights Reserved. ant2legs 擁有其製作的文章,圖片與程式的著作權,所有權利保留。