正規表現で大文字と小文字を区別しないようにするにはどうすればよいですか?

Drupal Commerceの配送ルールに取り組んでいます。郵便番号を以下のように購入者の住所と比較するには、正規表現が必要です。

/^AB37|^AB38|^AB41/ 

このコードでは大文字と小文字が区別されるため、小文字または混合を許可するために、よりリラックスする必要があります。

「i」が必要です。フラグがありますが、これを適用する方法がわかりません。

例を教えていただけますか?

コメント

  • はい、'にスポットを当て、iフラグを使用します:/^AB37|^AB38|^AB41/i
  • 提案をありがとう。質問はかなり一般的かもしれませんが、具体的にはcommerce_shippingの一般的な使用例に関するものなので、トピックから外れていないと主張します。
  • @Clive成功せずに提案を試しましたI '恐れ入ります-ルールはまったくトリガーされません。フィールドヘルプテキストは次のとおりです。'正規表現(" /(35 | 38)[0-9] {3} / ")または範囲を含むカンマ区切りのリスト(" 98、100:200 " )'
  • iフラグが最後に表示されます。次のツールを使用してルールをテストできます: regexr.com -それ以外の場合、' dは、DCが間違っていると主張します。 '有効な正規表現を受け入れません。
  • @KevinDCは'カンマ区切りを受け入れないようです郵便番号のリスト。したがって、正規表現を試してください。バグかもしれません

回答

大文字と小文字を区別しないのは、通常、区切りバーの後に「i」文字を追加することです。 / ^ AB37 | ^ AB38 | ^ AB41 / i

ただし、大文字と小文字は異なりますが、変更できます。たとえば、JSでは新しいパラメータ(var re = new RegExp(myVar,"ig"))を追加するか、phpではpreg_match("[expression]i", $text, $matches);

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です