Ich arbeite an einer Drupal Commerce-Versandregel und sie benötigt einen regulären Ausdruck, um Postleitzahlen mit der unten angegebenen Käuferadresse zu vergleichen.
/^AB37|^AB38|^AB41/
Ich finde, dass dieser Code zwischen Groß- und Kleinschreibung unterscheidet und dass er entspannter sein muss, um Kleinbuchstaben oder gemischte Groß- und Kleinschreibung zuzulassen. Flag, aber ich bin mir nicht sicher, wie ich das anwenden soll.
Könnte mir bitte jemand ein Beispiel geben?
Kommentare
- Ja, wenn ' genau richtig ist, verwenden Sie ein
i
-Flag:/^AB37|^AB38|^AB41/i
- Danke für die Vorschläge. Mir ist klar, dass die Frage ziemlich allgemein ist, aber es handelt sich speziell um einen allgemeinen Anwendungsfall für Commerce_Shipping, daher würde ich argumentieren, dass dies nicht vom Thema abweicht.
- @Clive Ich habe Ihren Vorschlag ohne Erfolg ausprobiert. I ' Ich habe Angst – die Regel wird überhaupt nicht ausgelöst. Der Feldhilfetext lautet: ' Ein regulärer Ausdruck (" / (35 | 38) [0-9] {3} / ") oder durch Kommas getrennte Liste, einschließlich Bereiche (" 98, 100: 200 " ) '
- Das Flag
i
steht am Ende. Sie können Ihre Regel mit diesem Tool testen: regexr.com – andernfalls würde ich ' argumentieren, dass DC hier falsch ist, wenn ' akzeptiert keinen gültigen regulären Ausdruck. - @Kevin DC ' scheint kein durch Kommas getrenntes zu akzeptieren Liste der Postleitzahlen entweder. Versuchen Sie es daher mit Regex. Möglicherweise ein Fehler
Antwort
Die Groß- und Kleinschreibung wird normalerweise nicht berücksichtigt, indem nach der Begrenzungsleiste ein „i“ -Zeichen eingefügt wird. so etwas wie das: / ^ AB37 | ^ AB38 | ^ AB41 / i
, hängt aber vom Fall ab, in dem es geändert werden kann. In JS wird beispielsweise ein neuer Parameter hinzugefügt (var re = new RegExp(myVar,"ig")
) oder in php preg_match("[expression]i", $text, $matches);