Многие поисковые термины принимают в качестве параметра строку и сравнивают
её с одним или несколькими полями пакета. Строки могут вводится с двойными
кавычками или без них («"
»), поэтому
«
» и
«?name
(scorch)
» будут выполнять один и
тот же поиск. Если вы ввели поисковую строку, используя двойные кавычки, вы
можете добавить в неё символ двойных кавычек, помещая непосредственно перед
ним две обратных косых черты («?name
("scorch")\
») :
например, «
» будет
соответствовать пакету, чьё описание содержит строку
«?description
("\"easy\"")"easy"
».
Если вы введёте «голую» строку, т. е. строку, не заключённую в
двойные кавычки, aptitude будет считать, что эта строка
«заканчивается», когда будет обнаружена закрывающая скобка или
запятая перед вторым аргументом поискового термина [14]. Для того, чтобы отменить специальное значение этих
символов, поместите тильду («~
»)
непосредственно перед ними. Например,
«
» является
синтаксической ошибкой, так как первый символ
«?description
(etc)))
» заканчивает ?description
термин, а
второй символ «)
» не соответствует
какому-либо символу «(
». С другой стороны,
«
» соответствует
пакету, чьё описание содержит текст
«?description
(etc~))etc)
». Для использования сокращённой
нотации терминов есть и другие причины; более подробную информацию см. в
разделе «Сокращения для поисковых терминов».
Большинство текстовых поисков (имен пакетов, описаний и т. д.) выполняются
с использованием нечувствительных к регистру регулярных
выражений. Регулярное выражение соответствует полю, если любая часть
поля соответствует этому выражению; например,
«ogg[0-9]
» будет соответствовать
«libogg5
»,
«ogg123
» и
«theogg4u
». Некоторые символы имеют
специальное значение внутри регулярных выражений [15] , поэтому если вы хотите, чтобы они использовались
в поиске, вам необходимо экранировать их обратной косой чертой: например,
чтобы найти «g++
», вам следует использовать
шаблон «g\+\+
».
Символы «!
» и
«|
» имеют специальные значения внутри
поисковых шаблонов. Чтобы включить эти символы в строку, не заключенную в
кавычки, вам необходимо поместить тильду
(«~
») непосредственно перед ними. Например,
чтобы выбрать пакеты, чье описание содержит либо «grand», либо
«oblique», используйте шаблон
«
». Тем не
менее, в указанных случаях вам, вероятно, покажется более удобным
использовать закавыченную строку:
«?description
(grand~|oblique)
».
?description
("grand|oblique")
[14]
aptitude расценивает запятую как специальный символ только в том случае,
если имеется второй аргумент, так (например)
«
» осуществляет поиск
строки «?name
(apt,itude)apt,itude
» в полях
Имя
пакетов.
Несмотря на то, что это поведение строго определено, оно может удивлять; я рекомендую использовать закавыченные строки для любого шаблона, содержащего символы, которые могут иметь специальное значение.
[15]
Символы со специальным значением: «+
»,
«-
», «.
»,
«(
», «)
»,
«|
», «[
»,
«]
», «^
»,
«$
» и
«?
». Заметьте, что некоторые из них также
являются метасимволами aptitude, поэтому если вы хотите ввести (например)
символ «|
», он должен быть экранирован:
«
», этот запрос будет
соответствовать тем пакетам, чье описание содержит символ вертикальной черты
(«?description
(\~|)|
»).