Necesito encontrar una expresión regular para un número del 1 al 9, seguido de ceros finales, seguido del número final del 1 al 9. Como en un juego de buscaminas para borrar ceros.
¿Cómo hago coincidir la parte de una matriz donde tengo 10009 o 2003? ,1to9 luego ceros, luego 1to9? ¿Cómo lo escribiría?
¿Esto funciona? actualizado: ¿cómo pido esta expresión regular u otra expresión regular? el que tengo debajo o un (ceros finales y 1-9)
(^[1-9][0+][1-9]$)[1-9][0]+[1-9] Mueva el + fuera de los corchetes. De lo contrario, coincidirá con el carácter literal.
const regex = new RegExp("[1-9][0]+[1-9]") function test(testCase){ console.log(regex.test(testCase)) } test("10009") test("2003")Para hacer que el primer dígito sea opcional, puedes hacer:
[1-9]?[0]+[1-9] const regex = new RegExp("[1-9]?[0]+[1-9]") function test(testCase){ console.log(regex.test(testCase)) } test("0009") test("2003")Cuando dice [0+] , entonces está diciendo que seleccione cualquiera de 0 o +
lo que quieres es el cuantificador 0+ que significa 0 one or more times
Puedes usar ^[1-9]0+[1-9]$
const regex = /^[1-9]0+[1-9]$/; function test(str) { return regex.test(str); } console.log(test("10009")); console.log(test("2003"));