Metacarácter - Metacharacter
Un metacarácter es un carácter que tiene un significado especial para un programa de computadora, como un intérprete de shell o un motor de expresión regular (regex).
En las expresiones regulares extendidas POSIX, hay 14 metacaracteres que deben escaparse (precedidos por una barra invertida ( \
)) para eliminar su significado especial y ser tratados literalmente dentro de una expresión: abrir y cerrar corchetes ( [
y ]
); barra invertida ( \
); caret ( ^
); signo de dólar ( $
); punto / punto / punto ( .
); símbolo de barra / tubería vertical ( |
); signo de interrogación ( ?
); asterisco ( *
); signos más y menos ( +
y -
); abrir y cerrar llaves / llaves ( {
y }
); y paréntesis de apertura y cierre ( (
y )
).
Por ejemplo, para hacer coincidir la expresión aritmética (1+1)*3=6
con una expresión regular, la expresión regular correcta es \(1\+1\)\*3=6
; de lo contrario, los paréntesis, el signo más y el asterisco tendrán significados especiales.
Otros ejemplos
Algunos otros personajes pueden tener un significado especial en algunos entornos.
- En algunos shells de Unix, el punto y coma (";") es un separador de instrucciones .
- En XML y HTML , el ampersand ("&") introduce una entidad HTML . También tiene un significado especial en el símbolo del sistema de MS-DOS / Windows .
- En algunos shells de Unix y MS-DOS / Windows Command Prompt, el signo menor que y el signo mayor que ("<" y ">") se usan para la redirección y el acento grave / comillas inversas ("` ") se usa para sustitución de mando .
- En muchos lenguajes de programación , las cadenas se delimitan mediante comillas ("o '). En algunos casos, se utilizan caracteres de escape (y otros métodos) para evitar la colisión del delimitador , por ejemplo," Dijo, \ "Hola \" ".
- En cadenas de formato printf , el signo de porcentaje ("%") se usa para introducir especificadores de formato y debe escaparse como "%%" para ser interpretado literalmente. En SQL , el porcentaje se utiliza como carácter comodín .
- En SQL, el guión bajo ("_") se utiliza para coincidir con cualquier carácter.
Escapando
El término "escapar de un metacarácter" significa hacer que el metacarácter sea ineficaz (despojarlo de su significado especial), haciendo que tenga su significado literal. Por ejemplo, en PCRE , un punto (".") Representa cualquier carácter individual. La expresión regular "AC" coincidirá con "ABC", "A3C" o incluso "A C". Sin embargo, si el "." se escapa, perderá su significado como metacarácter y se interpretará literalmente como ".", lo que provocará que la expresión regular "A \ .C" solo coincida con la cadena "AC".
La forma habitual de escapar de un carácter en una expresión regular y en otros lugares es prefijarlo con una barra invertida ("\"). Otros entornos pueden emplear diferentes métodos, como MS-DOS / Windows Command Prompt, donde se usa un signo de intercalación ("^") en su lugar.