セグメンテーションで正規表現の一致を使用する
正規表現の一致とは何ですか?
正規表現のマッチングを使用すると、完全一致の値ではなくテキストのパターンに基づいてプロファイルをフィルタリングできます。これは、特定のドメインのメールアドレスや特定の形式の電話番号など、特定の形式に従うプロファイルを見つけるのに役立ちます。
⚠️ 重要:正規表現は、常に先頭から末尾までの値全体に一致します。
正規表現の使い方
セグメントを作成する際、テキストプロパティで2つの正規表現演算子を使用できます:
- 正規表現に一致 - 値が正規表現に一致するプロファイルを含めます
- 正規表現に一致しない - 値が正規表現に一致しないプロファイルが含まれます
次のセグメント条件で正規表現を使用します:
- プロパティ情報(カスタムオブジェクトを含む)。オブジェクトデータを使用するには、最初にカスタムオブジェクトを作成します。セグメントでカスタムオブジェクトを使用する方法をご覧ください。


- 顧客行動履歴(実行・未実行)と特定の順序に基づく顧客行動(実行・未実行)のフィルター
イベントファネルは、パーソナライゼーションとアドバンストKlaviyoデータプラットフォームに含まれています。セグメンテーションでイベントファネルを使用する方法をご覧ください。

正規表現フィルターを適用してください
- 新しいセグメントのセグメントビルダーを開くか、既存のセグメントを開いて定義を編集をクリックしてください。
- 上記の条件から1つ選択し、一致させるプロパティを選択してください。イベント条件の場合は、イベントを選択し、フィルターアイコンをクリックしてイベントプロパティを選択してください。
- Textプロパティを使用します。データタイプを編集できる場合は、Textを選択してください。
- 正規表現に一致または正規表現に一致しないを選択し、パターンを入力してください。
- 新しいセグメントを作成するにはセグメントを作成をクリックし、既存のセグメントへの変更を保存するにはセグメントを更新をクリックしてください。
正規表現の基本
一致する文字
- 文字と数字 - 通常どおりに入力します: hello は「hello」と一致します
- 任意の数字 - \d を使用して 0~9 の任意の数字に一致させます
- 任意の文字 - 小文字には [a-z]、大文字には [A-Z]、両方には [a-zA-Z] を使用します
- いずれか - | を使用してオプションを照合します:gmail|yahoo は「gmail」または「yahoo」のいずれかに一致します
- Anything - 任意の文字に一致させるには .* を使用します
特殊文字
これらをリテラルとして一致させるには、前にバックスラッシュ \ を追加します。
- ピリオド:\. はピリオドに一致します
- プラス記号:\+ はプラス記号に一致します
- 括弧:\( と \) は括弧と一致します
繰り返しパターン
- {5} - ちょうど 5 回(例:\d{5} は 5 桁に一致します)
- {2,4} - 2~4 回
- ? - 任意(0 回または 1 回)
注:{n}、{n,m}、または{n,}の繰り返し範囲は1,000を超えることはできません。これは*または+を1,000回の繰り返しに制限するものではありません。
一般的な例
メール アドレス
- 特定のドメイン:
- .*@example\.com
- 一致:john@example.com、support@example.com
- 複数ドメイン:
- .*@(gmail|yahoo|hotmail)\.com
- 一致:user@gmail.com、user@yahoo.com,user@hotmail.com
- 任意の .comメール:
- .*@.*\.com
電話番号
- 米国の 10 桁番号
- \d{10}
- 一致:5551234567
- 括弧で書式設定:
- \(\d{3}\) \d{3}-\d{4}
- 一致:(555) 123-4567
郵便番号
- 5 桁の ZIP:
- \d{5}
- 一致:12345
- ZIP+4:
- \d{5}-\d{4}
- 一致: 12345-6789
高度な参照情報:当社の実装では、標準として Google RE2 を使用しています。詳しくはこちら。
正規表現の制限
上限 | 値 | 例 |
正規表現の長さ | 最大 1,000 文字 | - |
正規表現の行 | 最大 100 行 | - |
カウントされた繰り返しの上限と下限 | 上限:1,000 | \d{1000} は許可されます |
最上位 | 区切り文字 | 区切り文字は最大5つ(代替は6つ) | a|b|c|d|e|fは許可されています;a|b|c|d|e|f|gは制限を超えています |
さらに、次の機能は現時点ではサポートされていません。
機能 | 例 |
先読み/後読み | (?=...), (?!...), (?<=...), (?<!...) |
後方参照 | \1, \2, (\w+)\s+\1 |
Unicode エスケープ | \uXXXX、\u00A0 |
ネストされた量指定子 | (a+)+, (x*)*, (a{2,5})+ |
成功のためのヒント
1. 正規表現は値全体に一致します
正規表現は、値の一部だけでなく値全体を記述する必要があります。
誤り: gmail\.com (テキスト「gmail.com」のみと一致します)
右: .*@gmail\\.com(john@gmail.com のような完全なメールに一致)
2. リテラルのピリオドをエスケープする
.com を照合する場合、.net、などの場合、バックスラッシュ付きで \.com と記述します。
誤り:.*@gmail.com(エスケープされていないピリオドは任意の文字に一致します)
正しい例: .*@gmail\\.com(john@gmail.comのようなメールアドレス内の文字どおりのピリオドに一致します)
3. .* を使用する「任意」の場合
.* で任意の文字を照合します
- .*@company\.com - company.com の任意のメールアドレス
- \+.* - + で始まるものすべて
- .*urgent.*- 「urgent」を含むテキスト
4. シンプルに始め、次に改善します
基本的な正規表現から始め、徐々に詳細を追加します。
- 例: .*@gmail\\.com→ [a-z]+\.[a-z]+@gmail\.com
可能な場合は、複雑なロジックを複数のシンプルな条件に分岐してください。プロファイルが両方の条件を満たす必要がある場合は、以下の例のように条件をANDで結合します。
- 例:「カリフォルニア発の Gmail または Yahoo のメール」
- フィルタ 1:メールが正規表現 .*@(gmail|yahoo)\\.com に一致
- フィルター 2:州がカリフォルニアに等しい
5. RegEx はデフォルトで大文字と小文字を区別します
ステートメントを大文字小文字を区別しないようにするには、プレフィックスとして (?i) を追加できます。
- 商品一致 (?i)^iphone$
正規表現(regex)と標準演算子、いつどちらを選ぶべき?
特定の形式やパターンに一致させる必要がある場合は、正規表現を使用します。よりシンプルなニーズの場合は、代わりに標準演算子を使用することを強く推奨します:
- 次を含む - テキストが任意の場所に表示される
- 次で始まる - 先頭に一致
- - で終わる - 末尾が一致
- 次と一致 - 完全一致