Utilizza espressioni regolari per trovare termini

Definire espressioni regolari che catturino i modelli di significatività, ad esempio AB10045 è la sintassi utilizzata per i numeri di ordine.

Definire le espressioni regolari che possono identificare ed estrarre le informazioni dai campi nella propria raccolta.

Ad esempio, questa espressione regolare trova le ricorrenze dei numeri di carta di credito di un determinato formato e lunghezza.

4[0-9]{15}

La seguente espressione regolare trova le ricorrenze di un numero di previdenza sociale statunitense.

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

Per aggiungere un'espressione regolare, completare i seguenti passaggi:

  1. Dalla sezione Teach domain concepts del pannello Improvement tools, scegli Regular expression.

  2. Fai clic su Carica.

  3. Facoltativo: specificare un percorso facet per categorizzare il testo che corrisponde all'espressione regolare. Il testo può essere filtrato da questo facet in un secondo momento.

    Se si utilizza una gerarchia di categorie, aggiungere un punto tra i nomi delle categorie nel percorso facet per rappresentare la gerarchia. Ad esempio, se si sta aggiungendo una regex che può riconoscere i numeri di telefono, è possibile che si disponga di un percorso facet come international.europe.

  4. Aggiungere l'espressione regolare.

    • Utilizzare un'espressione regolare Java™.

      Per ulteriori informazioni, consultare la documentazione Java. Un'altra risorsa utile è Regex 101.

    • Mantenere l'espressione regolare il più breve e comprensibile possibile.

    • Le migliori espressioni regolari si risolvono rapidamente in una corrispondenza o non corrispondenza.

    • Utilizzare modelli comuni. Ad esempio, utilizza a(b|c|d) invece di (ab|ac|ad).

    • Il motore dell'espressione regolare potrebbe fallire se torna indietro perché non riesce a fare una corrispondenza negativa verso la fine della stringa e quindi tenta troppe permutazioni. Per evitare backtrack, considerare l'utilizzo di un quantificatore possessivo, come (a+b*)++c.

  5. Fai clic su Crea.

  6. Scegliere la raccolta e il campo in cui ricercare le ricorrenze del testo che corrispondono a questo modello di espressione regolare.

Nell'output, le informazioni estratte dall'arricchimento delle espressioni regolari si trovano sotto enriched_{field_name}, all'interno dell'array entities.

In questo esempio, il Percorso facet è regex.cccardnumber e il campo selezionato per l'arricchimento è 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."
  ]
}

Quando si inoltrano query di test dalla pagina Migliora e personalizza, è possibile aggiungere un facet basato sul campo enriched_text.entities.model_name. Di conseguenza, l'arricchimento dell'espressione regolare cccardnumber che hai creato viene visualizzato come un valore facet in base al quale i documenti possono essere filtrati. Per ulteriori informazioni sulla creazione di facet, consultare Aggiunta di facet.

Limiti espressione regolare

Il numero di espressioni regolari che puoi definire per istanza del servizio dipende dal tuo tipo di piano Discovery.

Dettagli piano di espressioni regolari
Pianifica Espressioni regolari per istanza del servizio
Cloud Pak for Data Illimitato
Premium 100
Enterprise 100
Plus (include la versione di prova) 20