Como fazer uma expressão regular sem distinção entre maiúsculas e minúsculas?

Estou trabalhando em uma regra de envio do Drupal Commerce e ela precisa de uma expressão regular para comparar os códigos postais com o endereço do comprador, conforme abaixo;

/^AB37|^AB38|^AB41/ 

Estou achando que este código diferencia maiúsculas de minúsculas e preciso que ele seja mais relaxado, permitindo letras minúsculas ou mistas.

Li que preciso de um “i” sinalizar, mas não tenho certeza de como aplicá-lo.

Alguém poderia me fornecer um exemplo?

Comentários

  • Sim, esse ' s local, você usa um i sinalizador: /^AB37|^AB38|^AB41/i
  • Obrigado pelas sugestões. Sei que a pergunta pode ser bastante geral, mas é especificamente sobre um caso de uso comum para commerce_shipping, então eu diria que não está fora do assunto.
  • @Clive Tentei sua sugestão sem sucesso I ' m receio – a regra não é acionada. O texto de ajuda do campo diz: ' Uma expressão regular (" / (35 | 38) [0-9] {3} / ") ou lista separada por vírgulas, incluindo intervalos (" 98, 100: 200 " ) '
  • O sinalizador i vem no final. Você pode testar sua regra usando esta ferramenta: regexr.com – caso contrário, eu ' diria que o DC está errado aqui se não ' não aceita um regex válido.
  • @Kevin DC não ' parece aceitar uma vírgula separada lista de códigos postais também. Portanto, tente com regex. Talvez um bug

Resposta

O caso insensível geralmente é adicionar um caractere “i” após a barra delimitadora, algo assim: / ^ AB37 | ^ AB38 | ^ AB41 / i

mas depende do caso em que pode ser alterado. Em JS, por exemplo, é adicionar um novo parâmetro (var re = new RegExp(myVar,"ig")) ou em php é preg_match("[expression]i", $text, $matches);

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *