Почему один и тот же оператор регулярного выражения получает другой результат между Python и grep?
Моя входная строка выглядит следующим образом:
оператор или комментарий должны отображаться в случае по умолчанию [MISRA 2012, правило 16.1, обязательно], [MISRA 2012, правило 16.4, обязательно]
Цель состоит в том, чтобы найти [MISRA 2012, правило 16.1, обязательно] и [ MISRA 2012 Правило 16.4, требуется] от regex.
Используя код, приведенный ниже в Python,
onelineStr = "statement or comment should appear in default case [MISRA 2012 Rule 16.1, required], [MISRA 2012 Rule 16.4, required]"
r1 = re.findall(r"\[MISRA.*?\]", onelineStr)
print (r1)
, результат показан ниже, что является моим ожиданием .
['[MISRA 2012 Rule 16.1, required]', '[MISRA 2012 Rule 16.4, required]']
Однако, когда я использую то же выражение регулярного выражения в grep. Ничего не могу найти.
grep -o --color "\[MISRA.*?\]" 1.txt
Содержимое 1.txt - это заявление или комментарий, которые должны отображаться в случае по умолчанию [MISRA 2012, правило 16.1, обязательно], [MISRA 2012, правило 16.4, обязательно]
Что-то не так?
Спасибо !!