Expressions

Vous pouvez utiliser à la fois des expressions DOS et des expressions régulières pour définir des schémas dans les zones de saisie des pages de propriétés. Les pages de propriétés des travaux acceptent les expressions régulières, mais non les expressions DOS. La plupart des pages de propriétés des groupes de rapports, à l'exception des XRules, n'acceptent pas les expressions régulières, mais acceptent les expressions DOS. Le même moteur d'expressions régulières est utilisé dans tout le produit ; il utilise la syntaxe de Microsoft .Net 2.0.

Parmi les pages de propriétés des travaux acceptant les expressions régulières figurent Exclusions, Serveurs et domaines et XRules.

Les expressions vous permettent de définir un groupe d'adresses URL satisfaisant des critères spécifiques à l'aide d'une seule instruction. Exemple : vous pouvez utiliser l'expression DOS *MyProduct*.htm pour exclure les pages d'un produit particulier d'un groupe de rapports.

syntaxe DOS

* représente tout caractère ou toute chaîne de caractères : *a* renvoie tous les noms de fichier contenant le caractère "a".

? représente un seul caractère ; ??c renvoie tous les noms à 3 caractères se terminant par "c".

Syntaxe des expressions régulières

Les expressions régulières doivent être préfixées de la chaîne regexp: pour que le travail d'examen puisse la distinguer d'une entrée de texte normale. La syntaxe utilisée pour les expressions régulières est celle de .Net 2.0.

Le tableau suivant décrit certains des caractères et commandes spéciaux pris en charge dans les expressions régulières. La liste complète de la syntaxe prise en charge se trouve dans la documentation du moteur d'expressions régulières de .Net 2.0 fournie par Microsoft.

Tableau 1. Syntaxe et commandes valides pour les expressions régulières
Syntaxe Description
^ Correspondance avec le début de la chaîne. Cette syntaxe suppose qu'il n'y a pas de caractères avant le ^ dans la chaîne. Par exemple, imaginons que vous ayez deux adresses URL : http://www.example.com/support/index.asp et http://support.example.com/index.asp?URL=http://www.example.com. L'expression ^http://www\.example\.com ne renverrait que la première adresse URL, et non la seconde.
$ Correspondance avec la fin de la chaîne.
? P? : occurrence facultative (zéro ou une) de P.
* P* : 0 ou plusieurs répétitions de P.
+ P + : 1 ou plusieurs répétitions de P.
| P |Q : P ou Q.
\ \X : échappement d'un des caractères ()?*+|\.[]^$, qui seraient autrement interprétés comme des caractères spéciaux.
. Le point correspond à un caractère unique quelconque.
[ ] Plage de caractères entre les crochets, par exemple, c[a-o]t, ou l'un des caractères c[aou]t.
( ) (ab|cd)?ef : regroupement d'une série d'expressions régulières, qui dans ce cas correspondrait à abef, cdef et ef.
- Si vous voulez exprimer les caractères recherchés à l'aide d'une plage des caractères en question, vous pouvez séparer les premiers et derniers caractères de la plage par un tiret (-). La valeur des caractères individuels détermine leur ordre relatif dans la plage.
<operator1>&&

<operator2>

<operator1>and

<operator2>

ET logique.
<operator1>||<operator2>

<operator1>or

<operator2>

OU logique.
!<operator1>not

<operator2>

NON logique. Nécessite l'opérande correct. Il doit être précédé d'un opérateur binaire en présence d'une expression à gauche de l'opérateur. Exemple : "A and not b" est correct, mais "A not b" est incorrect.
"<string>" Chaîne littérale. Les opérandes qui contiennent des commandes peuvent être placés dans une chaîne délimitée par des guillemets. Exemple : "(Hello and Goodbye)". Faites précéder un guillemet dans une chaîne littérale par une barre oblique inversée.

Exemples d'expressions régulières

.* toute séquence de caractères

.*\. toute séquence de caractères suivie de . (un point)

Remarque : Attention avec les expressions régulières utilisant .*?{1,x} ou w+ pour capturer le texte autour d'une correspondance. Elles peuvent augmenter considérablement la durée de l'examen car elles testent chaque caractère du document pour déterminer s'il s'agit d'une correspondance de l'expression entière.

Exclusions : regexp:.*\.watch.*fire.* exclut http://www.watchoutforfiresinforest.com ainsi que http://www.watch.com/products/firestone/index.asp.