Hoe maak je een reguliere expressie hoofdletterongevoelig?

Ik werk aan een Drupal Commerce-verzendregel en deze heeft een reguliere expressie nodig om postcodes te vergelijken met het adres van de koper, zoals hieronder;

/^AB37|^AB38|^AB41/ 

Ik vind dat deze code hoofdlettergevoelig is en ik heb het meer ontspannen nodig, waarbij kleine letters of gemengd kunnen worden toegestaan.

Ik heb gelezen dat ik een “i” nodig heb vlag, maar ik weet niet zeker hoe ik dit moet toepassen.

Kan iemand mij een voorbeeld geven?

Opmerkingen

  • Ja, dat ' s ter plaatse is, je gebruikt een i vlag: /^AB37|^AB38|^AB41/i
  • Bedankt voor de suggesties. Ik realiseer me dat de vraag misschien vrij algemeen is, maar het gaat specifiek over een algemeen gebruik van commerce_shipping, dus ik zou willen zeggen dat het niet buiten het onderwerp ligt.
  • @Clive Ik heb je suggestie zonder succes geprobeerd I ' m bang – de regel wordt helemaal niet geactiveerd. De helptekst van het veld luidt: ' Een reguliere expressie (" / (35 | 38) [0-9] {3} / ") of door kommas gescheiden lijst, inclusief bereiken (" 98, 100: 200 " ) '
  • De vlag i komt aan het einde. U kunt uw regel testen met deze tool: regexr.com – anders ' zou ik beweren dat DC hier verkeerd is als het heeft ' geen geldige regex geaccepteerd.
  • @Kevin DC heeft geen ' t lijkt een komma gescheiden te accepteren lijst met postcodes. Probeer daarom met regex. Misschien een bug

Answer

Hoofdletterongevoelig is meestal het toevoegen van een “i” -teken na de scheidingsteken, zoiets als dit: / ^ AB37 | ^ AB38 | ^ AB41 / i

maar afhankelijk van het geval kan het worden gewijzigd. In JS is het bijvoorbeeld toevoegen van een nieuwe parameter (var re = new RegExp(myVar,"ig")) of in php is preg_match("[expression]i", $text, $matches);

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *