正規表現
正規表現は、一般に「regex」として知られ、検索パターンを定義する文字のシーケンスです。正規表現では、テキストのグループ化を検証し、検索と置換を実行できます。Braze では、正規表現を活用し、ターゲットのセグメンテーションやキャンペーンのフィルタリングにおいて、より柔軟な文字列マッチングソリューションを提供します。
リンク先の Braze Learning コースでは、Regex101 で正規表現がどのように使用され、テストされるかを紹介しています。また、社内の正規表現テスター、役立つ参考ページ、正規表現 Braze ラーニングビデオで参照されているサンプルデータ、よくある質問も提供しています。
リソース
- 正規表現の基礎 Braze ラーニングコース
- 正規表現チートシート
- [サンプルデータ RTF][dummydata]
正規表現デバッガ
このフォームでは、基本的な検証と正規表現のテストを行うことができます。
値をチェック:
一致結果:
よくある質問
does not match regex
フィルターは空白値を含みますか?
いいえ。値が空白の場合、そのユーザーは does not match regex
フィルターに含まれません。
セグメンテーションの際、受信トレイ固有のメールアドレスをフィルタリングするにはどうすればよいですか?
メールアドレスフィルターを使い、matches regex
に設定します。次に、メールアドレスの正規表現を参照します:
1
[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z.-]+
この正規表現は以下の 3 つの部分に分解できます:
[a-zA-Z0-9.+_-]+
はメールアドレスの先頭で、その後アットマーク@
が続きます。つまり、”[email protected]”の “name “である。[a-zA-Z0-9.-]+
はドメインの最初の部分です。つまり、「[email protected] 」の「例」ということになる。[a-zA-Z.-]+
はドメインの最後の部分です。つまり、「[email protected] 」の「com」である。
特定のドメインに関連するメールアドレスをフィルタリングする方法を教えてください。
例えば、”@braze.com” で終わるメールをフィルタリングしたいとする。メールアドレスフィルターを使い、matches regex
に設定し、正規表現フィールドに”@braze.com” と入力する。他のメールドメインでも同様です。
値 ≥x または ≤x の場合、フィルターの番号文字列はどのように使用できますか?
(≥) x 以上の値を検索する場合は、以下の正規表現を使います:
1
^([x-y]|\d{z,})$
ここで、x-y
は最初の桁の数字(0~9)の範囲であり、z
は x の桁数以上の数字です。例えば、50 以上の値の場合、正規表現は^([5-9][0-9]|\d{3,})$
となります。
(≤) x 以下の値を検索する場合は、以下の正規表現を使います:
1
^([x-y]|[a-b])$
ここで、x-y
は 1 桁目の数字(0~9)の範囲、a-b
は x の下限範囲です。たとえば、50以下の値の場合、正規表現は^([5-9][0-9]|[0-4][0-9])$
になります。
特定の文字列で始まるカスタム属性をフィルタリングするには?
キャレット記号 (^
) で文字列の先頭を表し、指定したいカスタム属性名を入力します。
例えば、”San” で始まる都市に住むユーザーをターゲットにする場合、正規表現は ^San \w
とします。この正規表現を使えば、サンフランシスコ、サンディエゴ、サンノゼなどの都市のユーザーをターゲットにできます。
特定の電話番号をフィルタリングする方法を教えてください。
正規表現を使用して電話番号をフィルターするには、E.164 形式でユーザープロファイルs に記録された番号をユーザー電話番号 に記録する必要があります。
米国の電話番号を検索すると仮定すると、正規表現フォーマット 1?\d\d\d\d\d\d\d\d\d\d
を使用します。\d
の各繰り返しは、指定したい桁数です。最初の 3 桁は市外局番です。
同様に、英国の電話番号の書式は ^\+4\d\d\d\d\d\d\d\d\d\d\d
です。その他の国は、それぞれの国番号の後に、残りの各桁について必要な数の \d
を繰り返します。つまり、国番号が “3” のリトアニアの場合、正規表現は^\+3\d\d\d\d\d\d\d\d\d\d
となります。
例えば、特定の市外局番 “718” の電話番号でユーザーをフィルタリングしたいとします。電話番号フィルターを使い、matches regex
に設定し、以下の正規表現を入力します:
1
^1?718\d\d\d\d\d\d\d
[dummydata] : /docs/ja/assets/download_file/regex-dummy-data.rtf?a2fce36c12fb35f03ae3b0819aca3ee8