Методы для использования регулярных выражений со строками

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() . Дополнительные сведения об этих методах см. в разделе « Поиск шаблонов в строках и замена подстрок ».