正規表現の一致とは?

正規表現のマッチングを使用すると、完全一致の値ではなくテキストのパターンに基づいてプロファイルをフィルタリングできます。これは、特定のドメインのメールアドレスや特定の形式の電話番号など、特定の形式に従うプロファイルを見つけるのに役立ちます。

⚠️ 重要:正規表現は、常に先頭から末尾までの値全体に一致します。

正規表現の使用方法

セグメントを作成する際、2 つの正規表現演算子を使用できます。

  • 正規表現に一致 - 値が正規表現に一致するプロファイルを含めます
  • 正規表現に一致しない - 値が正規表現に一致しないプロファイルが含まれます

以下のセグメント条件で使用できます。

  1. 特定のユーザーに関するプロパティ(カスタムオブジェクトを含む)

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} は許可されます
\d{1001} は許可されません

オプション (|)

メインレベルで最大 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 演算子の使い分け

特定の形式やパターンに一致させる必要がある場合は、正規表現を使用します。よりシンプルなニーズの場合は、代わりに標準演算子を使用することを強く推奨します:

  • 次を含む - テキストが任意の場所に表示される
  • 次で始まる - 先頭に一致
  • - で終わる - 末尾が一致
  • 次と一致 - 完全一致
この記事は役に立ちましたか?
この記事へのフィードバックには、このフォームのみを使用してください。 サポートへの連絡方法.

Klaviyo の詳細を見る

コミュニティ
同業者、パートナー、Klaviyo のエキスパートとつながり、インスピレーションを得たり、インサイトを共有したり、あらゆる質問への回答を得たりできます。
パートナー
特定のタスクのサポートや継続的なマーケティング管理のために、Klaviyo 認定エキスパートを雇いましょう。
サポート

アカウントからサポートにアクセスしてください。

メールサポート (無料トライアルと有料アカウント) 24 時間 365 日利用可能

チャット/バーチャル アシスタント
利用可否は地域およびプランタイプによって異なります