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


2. [誰かが実行したこと、または実行しなかったこと] と [特定の順序で誰かが実行したステップ] のフィルター

正規表現の基本
一致する文字
- 文字と数字 - 通常どおりに入力します: 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 回)
注: 繰り返しパターンは最大 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 件 | a|b|c|d|e|f が上限(6 つのオプション)を超えています |
ネストの深さ | 最大 5 レベル | ((((a)))) は 4 階層で、許可されています |
さらに、次の機能は現時点ではサポートされていません。
機能 | 例 |
先読み/後読み | (?=...), (?!...), (?<=...), (?<!...) |
後方参照 | \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(リテラルのピリオドと一致)
3. .* を使用します。"Anything" の場合
.* で任意の文字を照合します
- .*@company\.com - company.com の任意のメールアドレス
- \+.* - + で始まるものすべて
- .*緊急.*- "urgent" を含むテキスト
4. シンプルに始め、次に改善します
基本的な正規表現から始め、徐々に詳細を追加します。
- 例: .*@gmail\\.com→ [a-z]+\.[a-z]+@gmail\.com
可能な場合は、複雑なロジックを複数のシンプルなフィルターに分割してください。
- "カリフォルニア発の Gmail または Yahoo のメール" の例:
- フィルタ 1:メールが正規表現 .*@(gmail|yahoo)\\.com に一致
- フィルター 2:州がカリフォルニアに等しい
5. RegEx はデフォルトで大文字と小文字を区別します
ステートメントを大文字小文字を区別しないようにするには、プレフィックスとして (?i) を追加できます。
- 商品一致 (?i)^iphone$
RegEx と Standard 演算子の使い分け
特定の形式やパターンに一致させる必要がある場合は、正規表現を使用します。よりシンプルなニーズの場合は、代わりに標準演算子を使用することを強く推奨します:
- 次を含む - テキストが任意の場所に表示される
- 次で始まる - 先頭に一致
- - で終わる - 末尾が一致
- 次と一致 - 完全一致