2011-07-12 14 views
7

En nuestro código no es una expresión regular de la siguiente forma:¿Qué significa (? I) en una expresión regular .NET?

string regex = @"(?i)foo=(BAR?-[A-Z]+(33|34)?)"; 

¿Qué significa la "(?i)" al comienzo del partido expresión regular/hacer? Revisé la documentación de expresiones regulares de .NET y no puedo entender lo que significaría (?i). ¡Gracias!

Respuesta

12

(?i) activa entre mayúsculas y minúsculas a juego.

Referencia: MSDN, Regular Expression Options (destacando por mí):

Puede especificar opciones para expresiones regulares en una de tres maneras:

  • En los opciones parámetro de un System.Text.RegularExpressions.Regex constructor de clases o método de coincidencia de patrones estático (Shared in Visual Basic), como Regex.Regex(String, RegexOptions) o Regex.Match(String, String, RegexOptions). [...]

  • Aplicando opciones en línea en un patrón de expresión regular con la sintaxis (? Imnsx-imnsx). La opción se aplica al patrón desde el punto en que la opción se define al final del patrón o al punto en el que la opción no está definida por otra opción en línea. [...]

  • Mediante la aplicación de opciones en línea en una construcción de agrupación particular en un patrón de expresión regular con la sintaxis (imnsx-imnsx:? subexpresión). [...]

3

Establece expresión regular para ignorar el caso. En el futuro puede usar Expresso para resolver cosas como esta: enter image description here

1

(?i) activa la insensibilidad de mayúsculas y minúsculas. Entonces es una coincidencia insensible a mayúsculas y minúsculas.

1

Activa el caso de ignorar dentro del grupo adjunto

Cuestiones relacionadas