Оператор без учета регистра не работает в logcat

В Android logcat есть возможность указать фильтр регулярных выражений:

-e, --regex=<expr>          Only print lines where the log message matches <expr> where <expr> is
                              an ECMAScript regular expression.

Это работает нормально с регулярным выражением следующим образом:

adb logcat -e ".*cam.*"

однако, если я изменю его, чтобы сделать его нечувствительным к регистру, он вообще перестанет работать:

adb logcat -e "(?i).*cam.*"

Единственный обходной путь:

adb logcat -e ".*[cC][aA][mM].*"

Но это нежелательно, так как написание занимает так много времени, я хочу создать bat-файл, который будет принимать пользовательский ввод, а затем автоматически запускать фильтр в logcat, с последним синтаксисом его почти невозможно запрограммировать.

Есть ли другой способ указать нечувствительность к регистру в регулярном выражении? В Android нет grep, поэтому нельзя использовать этот подход.

Я не любитель Android, но я не могу найти никакой документации о --regex, не говоря уже о том, поддерживает ли он расширения Perl, такие как (?i). Есть ли у вас основания полагать, что так и должно быть?

tripleee 02.06.2024 12:43

@tripleee Когда я запускаю logcat --help, он печатает сообщение выше -e, --regex=<expr> Only print lines where the log message matches <expr> where <expr> is an ECMAScript regular expression. так что да, оно поддерживается и работает, за исключением части без учета регистра

Roman Toasov 03.06.2024 10:08

Как прямо сказано, поддерживаемым диалектом является ECMAScript.

tripleee 03.06.2024 10:09

Возможный дубликат stackoverflow.com/questions/3939715/…

tripleee 03.06.2024 10:10

(Если это не сразу очевидно, регулярное выражение ECMAScript не поддерживает (?i) или многие другие расширения регулярных выражений Perl/PCRE.)

tripleee 03.06.2024 10:18
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
5
62
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Да, в Android нет grep опции для фильтрации игнорирования регистра.
Но есть способ сделать это.

Это не точное решение. Но это альтернатива фильтрации журнала adb с регистронезависимой конфигурацией.

Если мы используем Git Bash в системе Windows, мы можем использовать опцию grep.

Я попробовал этот способ в своей системе, и он работает отлично.

./adb.exe logcat | grep ".*[cC][aA][mM].*"
or
./adb.exe logcat | grep -i ".*cam.*"

Хорошо, спасибо, но использовать консоль git немного раздражает, возможно, я просто нашел другую реализацию grep для консоли Windows. также ./adb.exe logcat | grep -i "cam" тоже работает.

Roman Toasov 06.06.2024 22:31

Другие вопросы по теме