Estoy tratando de capturar un SKU de un producto de localstorage en javascript
el elemento es una cadena html y estoy tratando de encontrar una regex que capture esa SKU id
el retorno de localstorage se ve así:
<li class="cart__item">SKU: MLB2046549757 | NAME: Notebook Multilaser Legacy Book Pc310 Preta 14.1 , Intel Celeron N3000 4gb De Ram 64gb Ssd, Intel Hd Graphics 1366x768px Windows 10 Home | PRICE: $1415</li><li class="cart__item">SKU: MLB2046549757 | NAME: Notebook Multilaser Legacy Book Pc310 Preta 14.1 , Intel Celeron N3000 4gb De Ram 64gb Ssd, Intel Hd Graphics 1366x768px Windows 10 Home | PRICE: $1415</li>
Intenté (?:SKU\: ){13} regex para obtener, por ejemplo MLB2046549757 SKU id, pero no funcionó.
Necesito capturar los 13 dígitos después de SKU: y guardarlos en una matriz.
¿Alguien tiene una idea de cómo podría hacer eso?
Prueba esto:
(SKU:\s)(.{13}) (?<=SKU:\s)(.{13})La segunda expresión regular dará como resultado solo las 13 posiciones después de SKU: Ver demostración
-¡Salud!
Si está seguro de que tiene un contenido coherente, intente: /(?<=SKU:\s)[\dA-Z]{13}/g
const items = document.querySelectorAll('li'); let SKU = [...items].flatMap(li => li.textContent.match(/(?<=SKU:\s)[\dA-Z]{13}/g)); console.log(SKU) <li class="cart__item">SKU: MLB2046549757 | NAME: Notebook Multilaser Legacy Book Pc310 Preta 14.1 , Intel Celeron N3000 4gb De Ram 64gb Ssd, Intel Hd Graphics 1366x768px Windows 10 Home | PRICE: $1415</li> <li class="cart__item">SKU: MLB2046585666 | NAME: Notebook Multilaser Legacy Book Pc310 Preta 14.1 , Intel Celeron N3000 4gb De Ram 64gb Ssd, Intel Hd Graphics 1366x768px Windows 10 Home | PRICE: $1415</li>