搭配字串使用規則運算式的方法
Flash Player 9 以及更新的版本,Adobe AIR 1.0 以及更新的版本
RegExp 類別包含兩種方法:
exec()
和
test()
。
除了 RegExp 類別的
exec()
和
test()
方法以外,String 類別也包含下列方法,讓您在字串中比對規則運算式:
match()
、
replace()
、
search()
和
splice()
。
test() 方法
RegExp 類別的
test()
方法只會檢查所提供的字串是否包含規則運算式的相符項目,如下列範例所示:
var pattern:RegExp = /Class-\w/;
var str = "Class-A";
trace(pattern.test(str)); // output: true
exec() 方法
RegExp 類別的
exec()
方法會檢查對規則運算式相符項目所提供的字串,並傳回帶有下列項目的陣列:
-
符合的子字串
-
子字串會比對規則運算式中的任何括號群組
陣列也包含
index
屬性,指出子字串相符項目開頭的索引位置。
例如,以下列程式碼為例:
var pattern:RegExp = /\d{3}\-\d{3}-\d{4}/; //U.S phone number
var str:String = "phone: 415-555-1212";
var result:Array = pattern.exec(str);
trace(result.index, " - ", result);
// 7-415-555-1212
當規則運算式設定了
g
(
global
) 旗標時,請使用
exec()
方法多次,以比對多個子字串:
var pattern:RegExp = /\w*sh\w*/gi;
var str:String = "She sells seashells by the seashore";
var result:Array = pattern.exec(str);
while (result != null)
{
trace(result.index, "\t", pattern.lastIndex, "\t", result);
result = pattern.exec(str);
}
//output:
// 0 3 She
// 10 19 seashells
// 27 35 seashore
使用 RegExp 參數的 String 方法
下列 String 類別的方法會將規則運算式當做參數使用:
match()
、
replace()
、
search()
和
split()
。如需有關這些方法的詳細資訊,請參閱
尋找字串中的樣式並取代子字串
。
|
|
|