Les expressions régulières dans findstr

Je suis en train de faire un peu de validation de chaîne avec findstr et ses /r indicateur pour permettre à des expressions régulières. En particulier, je voudrais valider entiers.

La regex

^[0-9][0-9]*$

a bien fonctionné pour les non-nombres négatifs, mais depuis que j'ai maintenant en charge les nombres négatifs ainsi j'ai essayé

^([1-9][0-9]*|0|-[1-9][0-9]*)$

pour qu'elle soit positive ou entiers négatifs ou nuls.

La regex fonctionne très bien théoriquement. Je l'ai testé en PowerShell et il correspond à ce que je veux. Cependant, avec

findstr /r /c:"^([1-9][0-9]*|0|-[1-9][0-9]*)$"

il ne le fait pas.

Même si je sais que findstr n'est pas la plus avancée de la regex de soutien (même en dessous de Notepad++ qui est probablement tout à fait un exploit), je me serais attendu à de telles expressions simples pour travailler.

Les idées de ce que je fais mal ici?

  • Note de l'éditeur: windows balise est un peu superflu, étant donné que findstr n'existe que là ...
  • Rössel: les Balises sont là pour vous aider à trouver des choses. Modéré la redondance ne fait pas de mal dans ce cas.
  • Je n'avais jamais rechercher un tag comme surpeuplés comme windows 😉 mais si vous pensez que ça va aider ...
  • et n'oubliez pas le tag d'utilisation de filtre de poser des questions. Ceux surpeuplées tags: windows, linux, apple, ce sont des très commode d'ignorer
InformationsquelleAutor Joey | 2010-04-10