Hola, soy nuevo en la expresión regular y esta puede ser una pregunta muy fácil (con suerte).expresión regular de Javascript: hacer coincidir algo hasta algo (si existe)
Estoy tratando de utilizar una solución para la clase 3 de cadena
- "45%", resultado esperado: "45"
- "45", resultado esperado: "45"
- " ", resultado esperado: ""
lo que estoy tratando (por no ser la cadena str):
str.match(/(.*)(?!%*)/i)[1]
Esto en mi cabeza sonaría como "coincide con cualquier instancia de hasta hasta '%' si se encuentra, o simplemente coincide con cualquier cosa"
En la cabeza de Firebug parece sonar más como "solo coincide con cualquier cosa y completamente hacer caso omiso de la mirada negativa ". También para hacerlo perezoso - (.*)?
- no parece ayudar.
Olvidemos por un momento que en esta situación específica solo estoy haciendo coincidir los números, por lo que un /\d*/
haría. Intento entender una regla general para poder aplicarla cada vez que sea necesario.
¿Alguien sería tan amable de ayudarme?
El lookahead negativo: '(?!% *)' Dice: _ "afirma que cero o más signos de porcentaje no siguen" _ ¡Esta afirmación nunca puede ser cierta porque '% *' siempre es verdad! ('% *' no coincide con nada, lo que es siempre cierto en todas partes, incluso para una cadena vacía). – ridgerunner