Estoy haciendo una pequeña validación de cadena con findstr
y su indicador /r
para permitir expresiones regulares. En particular, me gustaría validar enteros.Expresiones regulares en findstr
La expresión regular
^[0-9][0-9]*$
funcionó bien para los números no negativos, pero ya que ahora son compatibles con los números negativos, así que intentaron
^([1-9][0-9]*|0|-[1-9][0-9]*)$
, ya sea para los enteros positivos o negativos o cero.
La expresión regular funciona bien teóricamente. Lo probé en PowerShell y coincide con lo que quiero. Sin embargo, con
findstr /r /c:"^([1-9][0-9]*|0|-[1-9][0-9]*)$"
no.
Aunque sé que findstr
no tiene el soporte de expresiones regulares más avanzado (incluso debajo de Notepad ++, que probablemente sea todo un logro), hubiera esperado que tales expresiones simples funcionaran.
¿Alguna idea de lo que estoy haciendo mal aquí?
Nota para el editor: El * Windows * etiqueta es un poco superflua, ya que 'findstr' sólo existe allí ... – Joey
Rossel: Tags están ahí para ayudar a encontrar cosas. Una redundancia moderada no duele en este caso. – jfs
Nunca buscaría una etiqueta tan abarrotada como * windows * ;-), pero si crees que ayudará ... – Joey