Ya no tienes que indagar más por todo internet porque has llegado al sitio necesario, tenemos la respuesta que deseas sin liarte.
los match()
método recupera el resultado de hacer coincidir un string contra un expresión regular.
Sintaxis
match(regexp)
Parámetros
regexp
-
Un objeto de expresión regular.
Si
regexp
es un noRegExp
objeto, implícitamente se convierte en unRegExp
mediante el usonew RegExp(regexp)
.Si no da ningún parámetro y usa el
match()
método directamente, obtendrá unArray
con un vacio string:[""]
.
Valor devuelto
Un Array
cuyos contenidos dependen de la presencia o ausencia de lo global (g
) bandera, o null
si no se encuentran coincidencias.
- Si el
g
Si se usa la bandera, se devolverán todos los resultados que coincidan con la expresión regular completa, pero no los grupos de captura. - Si el
g
no se utiliza la bandera, solo se devuelve la primera coincidencia completa y sus grupos de captura relacionados. En este caso, el artículo devuelto tendrá propiedades adicionales como se describe a continuación.
Propiedades adicionales
Como se explicó anteriormente, algunos resultados contienen propiedades adicionales como se describe a continuación.
groups
- Un objeto de grupos de captura con nombre cuyo keys son los nombres y valores son los grupos de captura o
undefined
si no se definieron grupos de captura con nombre. Ver Grupos y gamas para más información. index
- El índice de la búsqueda en el que se encontró el resultado.
input
- Una copia de la búsqueda string.
Descripción
Si la expresión regular no incluye el g
bandera, str.match()
devolverá el mismo resultado que RegExp.exec()
.
Otros metodos
- Si necesita saber si un string coincide con una expresión regular
RegExp
, usarRegExp.test()
. - Si solo desea que se encuentre la primera coincidencia, es posible que desee utilizar
RegExp.exec()
en lugar de. - Si desea obtener grupos de captura y la bandera global está configurada, debe usar
RegExp.exec()
oString.prototype.matchAll()
en lugar de.
Ejemplos de
Usando match ()
En el siguiente ejemplo, match()
se usa para encontrar ‘Chapter
‘seguido de 1 o más caracteres numéricos seguidos de un punto decimal y un carácter numérico 0 o más veces.
La expresión regular incluye el i
para que se ignoren las diferencias entre mayúsculas y minúsculas.
const str ='For more information, see Chapter 3.4.5.1';const re =/see (chapter d+(.d)*)/i;const found = str.match(re); console.log(found);// logs [ 'see Chapter 3.4.5.1',// 'Chapter 3.4.5.1',// '.1',// index: 22,// input: 'For more information, see Chapter 3.4.5.1' ]// 'see Chapter 3.4.5.1' is the whole match.// 'Chapter 3.4.5.1' was captured by '(chapter d+(.d)*)'.// '.1' was the last value captured by '(.d)'.// The 'index' property (22) is the zero-based index of the whole match.// The 'input' property is the original string that was parsed.
Usar indicadores globales e ignorar mayúsculas y minúsculas con match ()
El siguiente ejemplo demuestra el uso de los indicadores de mayúsculas y minúsculas globales e ignorar con match()
. Todas las letras A
mediante E
y a
mediante e
se devuelven, cada uno con su propio elemento en el array.
const str ='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';const regexp =/[A-E]/gi;const matches_array = str.match(regexp); console.log(matches_array);// ['A', 'B', 'C', 'D', 'E', 'a', 'b', 'c', 'd', 'e']
Nota: Ver también String.prototype.matchAll()
y Búsqueda avanzada con banderas.
Usar grupos de captura con nombre
En los navegadores que admiten grupos de captura con nombre, el siguiente código captura “fox
” o “cat
“en un grupo llamado”animal
“:
const paragraph ='The quick brown fox jumps over the lazy dog. It barked.';const capturingRegex =/(?fox|cat) jumps over /;const found = paragraph.match(capturingRegex); console.log(found.groups);// animal: "fox"
Usando match () sin parámetro
const str ="Nothing will come of nothing."; str.match();// returns [""]
Un objeto que no es RegExp como parámetro
Cuando el regexp
el parámetro es un string o un número, se convierte implícitamente en un RegExp
mediante el uso new RegExp(regexp)
.
Si es un número positivo con signo positivo, RegExp()
ignorará el signo positivo.
const str1 ="NaN means not a number. Infinity contains -Infinity and +Infinity in JavaScript.", str2 ="My grandfather is 65 years old and My grandmother is 63 years old.", str3 ="The contract was declared null and void."; str1.match("number");// "number" is a string. returns ["number"] str1.match(NaN);// the type of NaN is the number. returns ["NaN"] str1.match(Infinity);// the type of Infinity is the number. returns ["Infinity"] str1.match(+Infinity);// returns ["Infinity"] str1.match(-Infinity);// returns ["-Infinity"] str2.match(65);// returns ["65"] str2.match(+65);// A number with a positive sign. returns ["65"] str3.match(null);// returns ["null"]
Especificaciones
Especificación |
---|
ECMAScript (ECMA-262) La definición de ‘String.prototype.match’ en esa especificación. |
Compatibilidad del navegador
Escritorio | Móvil | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Cromo | Borde | Firefox | explorador de Internet | Ópera | Safari | WebView Android | Chrome Android | Firefox para Android | Opera Android | Safari en IOS | Internet de Samsung | |
match |
1 | 12 | 1 | 4 | 4 | 1 | 1 | 18 | 4 | 10.1 | 1 | 1.0 |
Ver también
String.prototype.matchAll()
RegExp
RegExp.prototype.exec()
RegExp.prototype.test()
Aquí puedes ver las reseñas y valoraciones de los usuarios
Si estás contento con lo expuesto, eres capaz de dejar un artículo acerca de qué te ha impresionado de esta sección.