Hur gör man ett okänsligt för ett vanligt uttryck?

Jag arbetar med en Drupal Commerce-leveransregel och det behöver ett regelbundet uttryck för att jämföra postnummer med köparens adress enligt nedan;

/^AB37|^AB38|^AB41/ 

Jag tycker att den här koden är skiftlägeskänslig och jag behöver den för att vara mer avslappnad och tillåta gemener eller blandning.

Jag har läst att jag behöver ett ”i” flagga, men jag är osäker på hur jag ska tillämpa detta.

Kan någon ge mig ett exempel?

Kommentarer

  • Ja att ' är på plats, du använder en i flagga: /^AB37|^AB38|^AB41/i
  • Tack för förslagen. Jag inser att frågan kan vara ganska allmän, men det handlar specifikt om ett vanligt användningsfall för handel_shipping så jag skulle argumentera för att det inte är utanför ämnet.
  • @Clive Jag försökte ditt förslag utan framgång I ' Jag är rädd – regeln utlöses inte alls. Fältets hjälptext lyder: ' Ett reguljärt uttryck (" / (35 | 38) [0-9] {3} / ") eller kommaseparerad lista, inklusive intervall (" 98, 100: 200 " ) '
  • i flaggan kommer i slutet. Du kan testa din regel med det här verktyget: regexr.com – annars argumenterar jag ' om DC är fel här om det kommer ' inte att acceptera en giltig regex.
  • @Kevin DC verkar inte ' t accepterar ett kommaseparerat lista över postnummer antingen. Försök därför med regex. Kanske ett fel

Svar

Skiftlägeskänsligt är vanligtvis att lägga till en ”i” -tecken efter avgränsningsfältet, ungefär så här: / ^ AB37 | ^ AB38 | ^ AB41 / i

men beror på fallet det kan ändras. I JS är till exempel att lägga till en ny param (var re = new RegExp(myVar,"ig")) eller i php är preg_match("[expression]i", $text, $matches);

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *