Metaznak

Metaznak to znak, który ma specjalne znaczenie dla programu komputerowego, takiego jak interpreter powłoki lub silnik wyrażeń regularnych (regex) .

W rozszerzonych wyrażeniach regularnych POSIX istnieje 14 metaznaków, które muszą zostać poprzedzone znakiem ucieczki (poprzedzone ukośnikiem odwrotnym ( \ )), aby usunąć ich specjalne znaczenie i być traktowane dosłownie wewnątrz wyrażenia: otwierające i zamykające nawiasy kwadratowe ( [ i ] ); ukośnik odwrotny ( \ ); karetka ( ^ ); znak dolara ( $ ); kropka/kropka/kropka ( . ); symbol pionowej kreski/rury ( | ); znak zapytania ( ? ); gwiazdka ( * ); znaki plusa i minusa ( + i - ); otwierające i zamykające nawiasy klamrowe/nawiasy klamrowe ( { i } ); oraz nawiasy otwierające i zamykające ( ( i ) ).

Na przykład, aby dopasować wyrażenie arytmetyczne (1+1)*3=6 do wyrażenia regularnego, poprawne wyrażenie regularne to \(1\+1\)\*3=6 ; w przeciwnym razie nawiasy, znak plus i gwiazdka będą miały specjalne znaczenie.

Inne przykłady

Niektóre inne znaki mogą mieć specjalne znaczenie w niektórych środowiskach.

Ucieczka

Termin „ucieczka przed metaznakiem” oznacza uczynienie metaznaku nieskutecznym (pozbawienie go specjalnego znaczenia), powodując, że ma on swoje dosłowne znaczenie. Na przykład w PCRE kropka (".") oznacza dowolny pojedynczy znak. Wyrażenie regularne „AC” będzie pasować do „ABC”, „A3C”, a nawet „AC”. Jeśli jednak „.” zostanie zmieniona, straci swoje znaczenie jako metaznak i będzie interpretowana dosłownie jako „.”, co spowoduje, że wyrażenie regularne „A\.C” będzie pasować tylko do ciągu „AC”.

Zwykłym sposobem na uniknięcie znaku w wyrażeniu regularnym i gdzie indziej jest poprzedzenie go ukośnikiem odwrotnym („\”). Inne środowiska mogą wykorzystywać inne metody, takie jak MS-DOS/Windows Command Prompt, gdzie zamiast nich używany jest daszek („^”).

Zobacz też