Я делаю небольшую проверку строки с findstr
и ее флагом /r
, чтобы разрешить регулярные выражения. В частности, я хотел бы проверить целые числа.
Регулярное выражение
^[0-9][0-9]*$
работал отлично для неотрицательных чисел, но поскольку теперь я поддерживаю отрицательные числа, я попробовал
^([1-9][0-9]*|0|-[1-9][0-9]*)$
для положительных или отрицательных целых чисел или нуля.
Регулярно работает теоретически. Я тестировал его в PowerShell, и он соответствует тому, что я хочу. Однако при
findstr /r /c:"^([1-9][0-9]*|0|-[1-9][0-9]*)$"
это не так.
Хотя я знаю, что findstr
не имеет самой расширенной поддержки регулярных выражений (даже ниже Notepad ++, которая, вероятно, является достижением), я бы ожидал, что такие простые выражения будут работать.
Любые идеи, что я делаю неправильно здесь?