I metacaratteri posizionali sono tali perché ancorano la corrispondenza con il pattern in una particolare posizione della stringa di input: se la sottostringa descritta dal pattern esiste nella stringa di input, ma in una posizione diversa da quella specificata dal metacarattere, allora la verifica di corrispondenza in realtà fallisce.
Il metacarattere ^ ancora la corrispondenza all'inizio della stringa di input; per avere tale significato il metacarattere ^ deve essere il primo carattere del pattern.
Il metacarattere $ ancora la corrispondenza alla fine della stringa di input; per avere tale significato il metacarattere $ deve essere l'ultimo carattere del pattern.
I due metacaratteri possono essere utilizzati entrambi sullo stesso pattern; in tal caso la corrispondenza deve realizzarsi per l'intera stringa di input, nel senso che l'intera stringa di input deve realizzare una corrispondenza.
L'utilizzo di entrambi i metacaratteri è utile per ricercare righe che iniziano e finiscono con particolari sottostringhe.