Molti termini di ricerca accettano una stringa come parametro e cercano
corrispondenze in uno o più campi di un pacchetto. Le stringhe possono
essere inserite con o senza le virgolette doppie
(«"
»), perciò
«
» e
«?name
(scorch)
» effettuano la stessa
ricerca. Se si inserisce una stringa di ricerca usando le virgolette doppie,
si può includere un carattere di virgolette doppie nella stringa di ricerca
facendolo immediatamente precedere da una barra inversa
(«?name
("scorch")\
»): ad esempio,
«
» farà
corrispondenza con qualsiasi pacchetto la cui descrizione contiene la
stringa «?description
("\"easy\"")"easy"
».
Se si inserisce una stringa «nuda», una che non è racchiusa tra
virgolette doppie, allora aptitude la considera «terminata»
quando incontra la parentesi di chiusura o la virgola prima di un secondo
argomento del termine di ricerca. [14]Per
rimuovere il significato speciale di questi caratteri, farli immediatamente
precedere da una tilde («~
»). Per esempio,
«
» è un errore di
sintassi, perché la prima «?description
(etc)))
» chiude il
termine ?description
e la seconda «)
» non
corrisponde a nessuna «(
». Al contrario,
«
» trova corrispondenza
con qualsiasi pacchetto la cui descrizione contenga il testo
«?description
(etc~))etc)
». Ulteriori considerazioni si
applicano quando si usa la notazione breve per un termine, vedere sezione chiamata «Abbreviazioni per i termini di ricerca» per i dettagli.
La maggior parte delle ricerche di testo (per nomi di pacchetti,
descrizioni, ecc.) viene effettuata usando espressioni
regolari indifferenti alle maiuscole e minuscole. Un'espressione
regolare fa corrispondenza con un campo se una qualsiasi porzione del campo
corrisponde all'espressione; per esempio,
«ogg[0-9]
» fa corrispondenza con
«libogg5
»,
«ogg123
» e
«theoog4u
». Alcuni caratteri hanno un
significato speciale all'interno delle espressioni regolari [15], perciò se si desidera trovare corrispondenze con
essi nelle ricerche, è necessario proteggerli con una barra inversa: per
esempio, per cercare «g++
», si dovrebbe
usare il modello «g\+\+
».
I caratteri «!
» e
«|
» hanno un significato speciale
all'interno dei modelli di ricerca. Per poter includere questi caratteri in
una stringa non racchiusa tra virgolette, si può farli immediatamente
precedere da una tilde («~
»). Ad esempio,
per trovare i pacchetti la cui descrizione contenga «grande»
oppure «obliquo», usare il modello
«
». Tuttavia
in questi casi è probabilmente più comodo usare semplicemente una stringa
racchiusa tra virgolette:
«?description
(grande~|obliquo)
».
?description
("grande|obliquo")
[14]
aptitude tratta la virgola in modo speciale solamente se c'è un secondo
argomento, perciò (ad esempio)
«
» ricerca la stringa
«?name
(apt,itude)apt,itude
» nel campo
Name
dei pacchetti.
Benché questo comportamento sia ben definito, può sorprendere; è raccomandato l'uso di stringhe racchiuse tra virgolette per qualsiasi modello che contenga caratteri che potrebbero avere un significato speciale.
[15]
I caratteri con un significato speciale includono:
«+
», «-
»,
«.
», «(
»,
«)
», «|
»,
«[
», «]
»,
«^
», «$
» e
«?
». Notare che alcuni di questi sono anche
metacaratteri per aptitude, perciò se si desidera (ad esempio) digitare
una «|
» in modo letterale, questa deve
essere protetta due volte:
«
» trova corrispondenza
con i pacchetti la cui descrizione contiene un carattere di barra verticale
(«?description
(\~|)|
»).