online - regex python
Regex: ignore la sensibilidad de mayúsculas y minúsculas (8)
Como descubrí en esta publicación similar ( ignorecase en AWK ), en versiones antiguas de awk (como en Mac OS X de vanilla), es posible que necesite usar ''tolower($0) ~ /pattern/''
.
IGNORECASE
o (?i)
o /pattern/i
generará un error o devolverá verdadero para cada línea.
¿Cómo puedo hacer que la siguiente expresión regular ignore la distinción entre mayúsculas y minúsculas? Debe coincidir con todos los caracteres correctos, pero ignore si son más bajos o mayúsculos.
G[a-b].*
Depende de la implementación, pero yo usaría
(?i)G[a-b].
En aras de la exhaustividad, quería agregar la solución para expresiones regulares en C ++ con Unicode:
std::tr1::wregex pattern(szPattern, std::tr1::regex_constants::icase);
if (std::tr1::regex_match(szString, pattern))
{
...
}
La bandera i
se usa normalmente para insensibilidad de mayúsculas y minúsculas. No le da un idioma aquí, pero probablemente será algo como /G[ab].*/i
.
Suponiendo que quiere que toda la expresión regular ignore el caso, debería buscar la bandera i
. Casi todos los motores regex lo admiten:
/G[a-b].*/i
string.match("G[a-b].*", "i")
Consulte la documentación de su idioma / plataforma / herramienta para encontrar cómo se especifican los modos de coincidencia.
Si desea que solo una parte de la expresión regular sea insensible a las mayúsculas y minúsculas (como se presumió en mi respuesta original), entonces tiene dos opciones:
Use los modificadores de modo
(?i)
y [opcionalmente](?-i)
:(?i)G[a-b](?-i).*
Coloque todas las variaciones (es decir, minúsculas y mayúsculas) en la expresión regular, útil si los modificadores de modo no son compatibles:
[gG][a-bA-B].*
Una última nota: si está tratando con caracteres Unicode además de ASCII, verifique si su motor regex los soporta adecuadamente.
También puede llevar su cadena inicial, que va a verificar para la coincidencia de patrones, a minúsculas. Y usando en su patrón símbolos en minúscula, respectivamente.
[gG] [aAbB]. * Probablemente la solución simple si el patrón no es demasiado complicado o largo.
expresión regular para validar ''abc'' ignorando mayúsculas y minúsculas
(?i)(abc)