Expresiones regulares en JavaScript
Coincidir, extraer y reemplazar con literales de regex.
const log = "user=ada ip=10.0.0.7 status=200";
const user = log.match(/user=(\w+)/)[1];
const numbers = log.match(/\d+/g);
const hasIp = /ip=\d+\.\d+\.\d+\.\d+/.test(log);
const pattern = /(?<key>\w+)=(?<value>\S+)/g;
const fields = {};
for (const match of log.matchAll(pattern)) {
fields[match.groups.key] = match.groups.value;
}
const masked = log.replace(/ip=\S+/, "ip=hidden");
Cómo funciona
matchcaptura grupos; la banderagencuentra todas.testdevuelve un booleano.matchAllcon grupos nombrados arma un mapa de campos.
Palabras clave y builtins usados aquí
constforof
El intento, en números
- Líneas
- 13
- Caracteres a escribir
- 384
- Tokens
- 90
- Ritmo de tres estrellas
- 95 tpm
Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 57 segundos.
Paso 2 de 3 en Formatos de datos; paso 41 de 43 en Fundamentos del lenguaje.