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

Регулярное выражение соответствует каждому символу, но следующее
Это не помогло мне.

Я пытаюсь соответствовать momentaneousVehicleSpeedKmph= сопровождаемый чем угодно, но 9 в файле gz.

Они не совпадают:

$zgrep "momentaneousVehicleSpeedKmph=\[\^9\]" file.gz
$zgrep "momentaneousVehicleSpeedKmph=\(\^9\)" file.gz
$zgrep "momentaneousVehicleSpeedKmph=\^\[9\]" file.gz
$zgrep "momentaneousVehicleSpeedKmph=\^\(9\)" file.gz

Это делает:

$zgrep "momentaneousVehicleSpeedKmph=\(9\)" file.gz

Я теперь есть строки в файле, содержащем momentaneousVehicleSpeedKmph=89,

1 ответ

Решение

Просто попробуйте

$zgrep "momentaneousVehicleSpeedKmph=[^9]" file.gz

если вы не хотите соответствовать синглу 9,

/редактировать

Если вам также нужны скорости с 2 цифрами и более, попробуйте:

momentaneousVehicleSpeedKmph=([0-8]|[0-9]{2,})\b

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