Начало строки "^" синтаксис регулярного выражения не работает для findstr в Windows? - PullRequest
0 голосов
/ 22 ноября 2018

Я хочу, чтобы findstr совпадало со строками в начале строки (^).Однако, как видно из следующего примера, он не работает:

C:\Users\bd6164>dir | findstr /R ^3
    22-11-2018  08:43    <DIR>          .
    22-11-2018  08:43    <DIR>          ..
    22-11-2018  07:58    <DIR>          3D Objects
                  16 Dir(s)  219.434.221.568 bytes free

Я также проверил соответствие конца строки ($), и он прекрасно работает.

Что я делаю не так?

1 Ответ

0 голосов
/ 07 июля 2019

^ Circumflex Accent имеет специальное значение в командной строке Windows (а также в пакетном сценарии ):

Escape-символ

  ^  Escape character

Добавление escape-символа перед символом команды позволяет обрабатывать его как обычный текст.

Использование

dir | findstr /R ^^3

или (экранирование с помощью «двойных кавычек»)

dir | findstr /R "^3"

Примеры :

dir /ad | findstr /R ^^3
31.01.2018  15:14    <DIR>          odds and ends
31.05.2019  21:04    <DIR>          SF
30.06.2015  22:23    <DIR>          xxx
dir /ad | findstr /R "^3"
31.01.2018  15:14    <DIR>          odds and ends
31.05.2019  21:04    <DIR>          SF
30.06.2015  22:23    <DIR>          xxx
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...