Jump to: navigation, search

Fonctions, arguments et opérateurs


Fonctions

Les règles de filtrage utilisent trois fonctions de base :

  • Find("<text>"),<text> représente un segment de texte. Un résultat true est obtenu si l’interaction contient le segment exact entre guillemets, peu importe la casse.
  • RegExFind("<regular expression>"),<regular expression> représente une expression normale (voir Expressions régulières ). Un résultat true est obtenu si l’interaction contient un segment correspondant à l’expression régulière entre guillemets.
  • RegExMatch("<regExp>"),<regular expression> est une expression régulière. Un résultattrue est seulement obtenu si le contenu de l’interaction en entier correspond à l’expression régulière entre guillemets.
  • Important
    RegExFind et RegExMatch sont quasi-identiques; l’exception est que RegExFind cherche une correspondance n’importe où dans le corps de l’interaction, tandis que RegExMatch cherche une correspondance entre l’expression régulière et le corps de l’interaction au complet.

Arguments

Chaque fonction doit comporter un argument qui doit être saisi entre guillemets doubles, comme représenté au-dessus de (<text>) ou de (<regular expression>). Cet argument obligatoire peut être suivi d’un ou de deux arguments facultatifs, selon la fonction. La forme complète de chaque fonction, y compris tous les arguments, va comme suit :

  • Find("<text>", <IgnoreCase>)
  • RegExFind("<regular expression>",<"key">,<IgnoreCase>)
  • RegExMatch("<regular expression>",<IgnoreCase)


IgnoreCase

L’argument IgnoreCase doit consister en une valeur booléenne (true ou false). Chacune des trois fonctions ignore la casse lors des recherches, sauf si vous attribuez la valeur false à l’argument IgnoreCase.
Par exemple :

  • Find("pacifique") permet de trouver Pacifique et pacifique.
  • Find("Pacifique",false) permet de trouver Pacifique, mais pas pacifique.

Vous pouvez aussi substituer la valeurtrue à la valeur false – par exemple, Find("Pacifique",true)—fait en sorte que la casse est ignorée. Donc, Find("Pacifique",true) équivaut à Find("Pacifique").


Key

L’argument key doit représenter un segment. S’il est présent, le système crée une paire clé-valeur avec les caractéristiques suivantes :

  • Le nom de la clé correspond au segment précisé dans l’argument key, accompagné du préfixe ScrKey_.
  • La valeur représente le contenu avec lequel la règle de filtrage établit une correspondance.

Le système ajoute ensuite cette correspondance clé-valeur aux données attachées de l’interaction.
Par exemple, RegExFind("[A-Z]\d\d\d","ID_code",false) :

  1. Trouve les segments composés d’une majuscule suivie de trois chiffres (voir Expressions régulières) .
  2. Joint à l’interaction une correspondance clé-valeur intituléeScrKey_ID_code dont la valeur est A123, X005, M999 ou tout segment que la fonction aurait trouvé dans l’interaction et qui correspond à l’expression régulière.

Opérateurs

Il existe deux types d’opérateurs :

  • Les opérateurs binaires combinent deux fonctions.
  • Les opérateurs monadiques ont une fonction unique.

  • && consiste en l’opérateur binaire "et". Par exemple,

        Find("taux d’intérêt") && Find("APR",false)

    établit uniquement une correspondance avec les messages qui comprennent à la fois "taux d’intérêt" et "APR."


    || consiste en l’opérateur binaire "or." Par exemple,

        Find("automobile familiale") || Find("décapotable")

    établit une correspondance avec tout message qui comprend soit "voiture familiale", soit "décapotable" (ou "Voiture familiale" ou "Voiture familiale" ou "Décapotable").


    ! est l’opérateur monadique "not." (exclusion) Par example,

        !Find("fenêtres")

    établit une correspondance avec n’importe quel message qui ne comprend pas le mot "fenêtres."


    Vous pouvez combiner ! avec un opérateur binaire. Par exemple,

        Find("oiseau") && !Find("oie")

    établit une correspondance avec n’importe quel message qui comprend "oiseau", mais pas "oie."

    Priorité des opérateurs

    p && q || r est analysé en tant que (p && q) || r. Prenez l’exemple suivant :

        Find("dette") && Find("revenu") || Find("profit")

    En d’autres mots, la règle de filtrage indique de "trouver X ou de trouver Y,"et X équivaut à "dette" et à"revenu,"tandis qu’Y équivaut à "profit."
    Elle repère à la fois "la dette est supérieure au revenu" et "les profits sont spectaculaires".

    Vous pouvez modifier la priorité par défaut par un usage explicite de parenthèses, par exemple :

        Find("dette") && (Find("revenu") || Find("profit"))

    La règle de filtrage consiste fondamentalement à "trouver X et Y;" où X signifie "dette" et Y signifie soit "revenu" ou "profit."
    Elle permet de trouver à la fois "la dette est supérieure au revenu" et "la dette a une incidence sur le profit".

This page was last edited on July 26, 2017, at 19:45.
Comments or questions about this documentation? Contact us for support!