Методы для использования регулярных выражений со строкамиFlash Player 9 и более поздних версий, Adobe AIR 1.0 и более поздних версий Класс RegExp включает два метода: exec() и test(). Помимо методов exec() и test() класса RegExp, класс String включает следующие методы, позволяющие сопоставлять регулярные выражения в строках: match(), replace(), search() и splice(). Метод test()Метод test() класса RegExp просто проверяет предоставленные строки на предмет наличия совпадений регулярного выражения, как это показано в примере ниже: var pattern:RegExp = /Class-\w/; var str = "Class-A"; trace(pattern.test(str)); // output: true Метод exec()Метод exec() класса RegExp проверяет предоставленные строки на предмет наличия совпадения регулярного выражения и возвращает массив вместе со следующим.
Массив также включает свойство 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
Методы String, использующие параметры RegExpСледующие методы класса String используют регулярные выражения в качестве параметров: match(), replace(), search() и split(). Дополнительные сведения об этих методах см. в разделе «Поиск шаблонов в строках и замена подстрок». |
|