Utiliser des expressions régulières pour rechercher des termes

Définissez des expressions régulières qui capturent des modèles de signification, par exemple AB10045 est la syntaxe utilisée pour vos numéros de commande.

Définissez des expressions régulières qui peuvent identifier et extraire des informations des zones de votre collection.

Par exemple, cette expression régulière recherche des occurrences de numéros de carte de crédit d'un format et d'une longueur spécifiques.

4[0-9]{15}

L'expression régulière suivante recherche les occurrences d'un numéro de sécurité sociale américain.

(?!666|000|9\d{2})\d{3}-(?!00)\d{2}-(?!0{4})\d{4}

Pour ajouter une expression régulière, procédez comme suit :

  1. Dans la section Teach domain concepts du panneau Improvement tools, sélectionnez Regular expression.

  2. Cliquez sur Transférer.

  3. Facultatif: spécifiez un chemin de facette pour catégoriser tout texte qui correspond à l'expression régulière. Le texte peut être filtré par cette facette ultérieurement.

    Si vous utilisez une hiérarchie de catégories, ajoutez un point entre les noms de catégorie dans le chemin de facette pour représenter la hiérarchie. Par exemple, si vous ajoutez une expression régulière qui peut reconnaître des numéros de téléphone, vous pouvez avoir un chemin de facette tel que international.europe.

  4. Ajoutez l'expression régulière.

    • Utilisez une expression régulière Java™.

      Pour plus d'informations, voir la documentation de Java. Une autre ressource utile est Regex 101.

    • Conservez l'expression régulière aussi courte et compréhensible que possible.

    • Les meilleures expressions régulières se résolvent rapidement en une correspondance ou en une non-correspondance.

    • Utilisez des modèles communs. Utilisez, par exemple, a(b|c|d) plutôt que (ab|ac|ad).

    • Le moteur d'expressions régulières peut échouer s'il revient en arrière parce qu'il ne peut pas faire de correspondance négative vers la fin de la chaîne et qu'il tente alors trop de permutations. Pour éviter les retours en arrière, envisagez d'utiliser un quantificateur possessif, tel que (a+b*)++c.

  5. Cliquez sur Créer.

  6. Choisissez la collection et la zone pour rechercher les occurrences de texte qui correspondent à ce modèle d'expression régulière.

Dans le résultat, les informations extraites par l'enrichissement par expressions régulières se trouvent sous enriched_{field_name}, dans le tableau entities.

Dans cet exemple, Facet Path est regex.cccardnumber et la zone sélectionnée pour l'enrichissement est text.

{
  "enriched_text": [
    {
      "entities": [
        {
          "path": ".regex.cccardnumber",
          "type": "cccardnumber",
          "text": "4000000000000000"
        }
      ]
    }
  ],
  "text": [
    "He has 2 phones, 090-1234-5678 and 080-1234-5678. His credit card number is 4000000000000000."
  ]
}

Lorsque vous soumettez des requêtes de test à partir de la page Improve and customize, vous pouvez ajouter une facette basée sur la zone enriched_text.entities.model_name. Par conséquent, l'enrichissement d'expression régulière cccardnumber que vous avez créé est affiché en tant que valeur de facette en fonction de laquelle les documents peuvent être filtrés. Pour plus d'informations sur la création de facettes, voir Ajout de facettes.

Limites d'expression régulière

Le nombre d'expressions régulières que vous pouvez définir par instance de service dépend de votre type de plan Discovery.

Détails du plan d'expression régulière
Planifier Expressions régulières par instance de service
Cloud Pak for Data Illimité
Premium 100
Entreprise 100
Plus (inclut la version d'essai) 20