match (Método)
Ejecuta una búsqueda en una cadena mediante un modelo de expresión regular y devuelve una matriz que contiene los resultados de la búsqueda.
function match(rgExp : RegExp) : Array
Argumentos
- rgExp
Obligatorio. Instancia de un objeto Regular Expression que contiene el modelo de expresión regular y las marcas aplicables. También puede ser un nombre de variable o un literal de cadena que contenga el modelo de expresión regular y las marcas.
Comentarios
Si el método match no encuentra ninguna coincidencia, devuelve null. Si encuentra una coincidencia, el método match devuelve una matriz y las propiedades del objeto global RegExp se actualizan para reflejar los resultados de la búsqueda.
La matriz devuelta por el método match tiene tres propiedades: input, index y lastIndex. La propiedad input contiene la cadena completa en la que se busca. La propiedad index contiene la posición de la subcadena encontrada dentro de la cadena completa en la que se busca. La propiedad lastIndex contiene la posición siguiente al último carácter de la última coincidencia.
Si no se establece la marca global (g), el elemento cero de la matriz contiene toda la coincidencia, mientras que los elementos del 1 al n contienen las coincidencias secundarias que se hayan encontrado dentro de la coincidencia. Este comportamiento es idéntico al del método exec (Método) cuando la marca global no está establecida en ese método. Si se establece la marca global, los elementos del 0 al n contienen todas las coincidencias que se hayan encontrado.
Ejemplo
En el ejemplo siguiente se muestra el uso del método match cuando la marca global (g) no está establecida.
var src = "Please send mail to george@contoso.com and someone@example.com. Thanks!";
// Create a regular expression to search for an e-mail address.
// The global flag is not included.
// (More sophisticated RegExp patterns are available for
// matching an e-mail address.)
var re = /(\w+)@(\w+)\.(\w+)/;
var result = src.match(re);
// Because the global flag is not included, the entire match is
// in array element 0, and the submatches are in elements 1 through n.
print(result[0]);
for (var index = 1; index < result.length; index++)
{
print("submatch " + index + ": " + result[index]);
}
// Output:
// george@contoso.com
// submatch 1: george
// submatch 2: contoso
// submatch 3: com
En este ejemplo se muestra el uso del método match cuando la marca global (g) está establecida.
var src = "Please send mail to george@contoso.com and someone@example.com. Thanks!";
// Create a regular expression to search for an e-mail address.
// The global flag is included.
var re = /(\w+)@(\w+)\.(\w+)/g;
var result = src.match(re);
// Because the global flag is included, the matches are in
// array elements 0 through n.
for (var index = 0; index < result.length; index++)
{
print(result[index]);
}
// Output:
// george@contoso.com
// someone@example.com
Las siguientes líneas de código muestran el uso de un literal de cadena con el método match.
var re = /th/i;
var result = "through the pages of this book".match(re);