Экранированная последовательность для подходящего регулярного выражения
Есть ли способ избежать последовательности в apt
регулярное выражение?
У меня есть поиск, например libpng++
где я хочу буквально соответствовать ++
часть строки. Я знаю, что могу вручную избежать ++
с \+\+
, но мне нужно экранировать строку (поскольку она приходит ко мне как переменную), а не просто вручную экранировать отдельные символы.
я пробовал apt-cache search libpng++
, "libpng++"
, 'libpng++'
, \"libpng++\"
, \'libpng++\'
, \Qlibpng++\E
, так далее.
Есть ли желание заставить это работать?
1 ответ
Вы можете "обработать" переменную перед передачей apt-cache
, как в:
var="libpng++"
var=$(echo $var | sed 's|\([+*?]\)\\\1|g')
apt-cache search $var
Добавьте любые другие специальные символы регулярного выражения между [
а также ]
выше.