Jak ustawić niewrażliwość na wielkość liter w wyrażeniach regularnych?

Pracuję nad regułą wysyłki Drupal Commerce i potrzebuję wyrażenia regularnego, aby porównać kody pocztowe z adresami kupujących, jak poniżej;

/^AB37|^AB38|^AB41/ 

Uważam, że w tym kodzie rozróżniana jest wielkość liter i chcę, aby był bardziej zrelaksowany, zezwalając na małe lub mieszane litery.

Przeczytałem Potrzebuję litery „i” flag, ale nie wiem, jak to zastosować.

Czy ktoś mógłby mi podać przykład?

Komentarze

  • Tak, na miejscu na ' używasz flagi i: /^AB37|^AB38|^AB41/i
  • Dzięki za sugestie. Zdaję sobie sprawę, że pytanie może być dość ogólne, ale dotyczy konkretnie typowego przypadku użycia commerce_shipping, więc uważam, że nie jest to niezgodne z tematem.
  • @Clive Wypróbowałem Twoją sugestię bez powodzenia. ' obawiam się – reguła nie jest w ogóle uruchamiana. Tekst pomocy pola brzmi: ' Wyrażenie regularne (" / (35 | 38) [0-9] {3} / ") lub lista oddzielona przecinkami, zawierająca zakresy (" 98, 100: 200 " ) '
  • Flaga i pojawia się na końcu. Możesz przetestować swoją regułę za pomocą tego narzędzia: regexr.com – w przeciwnym razie ' d twierdzę, że DC jest błędne, jeśli wygrał ' nie akceptuje prawidłowego wyrażenia regularnego.
  • @Kevin DC nie ' wydaje się akceptować przecinki oddzielone lista kodów pocztowych. Dlatego spróbuj z wyrażeniem regularnym. Może błąd

Odpowiedź

Zwykle bez rozróżniania wielkości liter jest dodanie znaku „i” po separatorze, coś takiego: / ^ AB37 | ^ AB38 | ^ AB41 / i

ale w zależności od przypadku można to zmienić. Na przykład w JS dodaje nowy parametr (var re = new RegExp(myVar,"ig")) lub w php jest preg_match("[expression]i", $text, $matches);

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *