Opciones de expresiones regulares
Actualización: noviembre 2007
Se puede modificar un modelo de expresión regular con opciones que afectan al comportamiento de coincidencia. Las opciones de expresiones regulares se pueden establecer en una o dos formas básicas: en el parámetro options del constructor Regex(pattern, options), donde options es una combinación OR bit a bit de valores enumerados RegexOptions; o dentro del modelo de expresión regular utilizando la construcción de agrupamiento en línea (?imnsx-imnsx:) o la construcción miscelánea (?imnsx-imnsx).
En las construcciones de la opción en línea, un signo menos (-) delante de una opción o conjunto de opciones desactiva las opciones. Por ejemplo, la construcción en línea (?ix-ms) activa las opciones IgnoreCase e IgnorePatternWhiteSpace y desactiva las opciones Multiline y Singleline. De forma predeterminada, todas las opciones de expresiones regulares están desactivadas.
En la tabla siguiente se muestra una lista de miembros de la enumeración RegexOptions y los caracteres equivalentes de la opción en línea. Tenga en cuenta que las opciones RightToLeft y Compiled se aplican sólo a una expresión completa y no se permite su utilización en línea. (Sólo se pueden especificar en el parámetro options del constructor Regex). No se permiten las opciones None y ECMAScript en línea.
Miembro RegexOption |
Carácter en línea |
Descripción |
---|---|---|
Ninguna |
No disponible. |
Especifica que no hay ninguna opción establecida. |
IgnoreCase |
i |
Especifica la coincidencia con distinción entre mayúsculas y minúsculas. |
Multiline |
m |
Especifica el modo multilínea. Cambia el significado de ^ y $ de manera que coincidan, respectivamente, al principio y al final de cada línea y no justo al principio y al final de la cadena. |
ExplicitCapture |
n |
Especifica que las únicas capturas válidas son explícitamente grupos con nombre o número con la sintaxis (?<name>...). Esto permite que los paréntesis actúen como grupos sin capturar sin la falta de fluidez sintáctica de la expresión (?:...). |
Compiled |
No disponible. |
Especifica que se compilará la expresión regular en un ensamblado. Genera código de lenguaje intermedio de Microsoft (MSIL) para la expresión regular; proporciona una ejecución más veloz, pero incrementa el tiempo de inicio. |
Singleline |
s |
Especifica el modo de una sola línea. Cambia el significado del punto (.) para que coincida con todos los caracteres (en lugar de hacerlo con todos los caracteres excepto con \n). |
IgnorePatternWhitespace |
x |
Especifica que el espacio en blanco sin escape se excluye del modelo y permite comentarios después de un signo de número (#). (Para obtener una lista de caracteres de espacio en blanco con escape, vea Escapes de carácter). Tenga en cuenta que el espacio en blanco no se elimina nunca de una clase de caracteres. |
RightToLeft |
No disponible. |
Especifica que la búsqueda se desplaza de derecha a izquierda en vez de izquierda a derecha. Una expresión regular con esta opción se desplaza a la izquierda de la posición inicial en vez de a la derecha. (Por tanto, la posición inicial se debe especificar como el final de la cadena en vez de cómo el principio.) Esta opción no se puede especificar en medio de una cadena para evitar la posibilidad de que se utilicen expresiones regulares con bucles infinitos. No obstante, las construcciones de búsquedas tardías (?<) proporcionan algo similar que se puede utilizar como una subexpresión. RightToLeft sólo cambia la dirección de la búsqueda. No invierte la subcadena que se busca. Las aserciones lookahead y lookbehind no cambian: lookahead busca hacia la derecha; lookbehind busca hacia la izquierda. |
ECMAScript |
No disponible. |
Especifica que el comportamiento compatible con ECMAScript se habilita para el expresión. Esta opción sólo se puede utilizar junto con los indicadores IgnoreCase y Multiline. La utilización de ECMAScript con otros indicadores dará como resultado una excepción. |
CultureInvariant |
No disponible. |
Especifica que se deben omitir las diferencias de referencia cultural en el lenguaje. Para obtener más información, vea Realizar operaciones que no tienen en cuenta las referencias culturales en el espacio de nombres |