Expressions régulières dans les règles de transport
S'applique à : Exchange Server 2010
Dernière rubrique modifiée : 2009-11-05
Vous pouvez utiliser des expressions régulières dans les prédicats de règle de transport Exchange Server 2010 pour faire correspondre des modèles de texte à différents endroits d’un message (en-têtes, expéditeur, destinataires, sujet et corps de message). Les prédicats sont utilisés par des conditions et des exceptions pour déterminer si une ou plusieurs actions configurées doivent être appliquées à un message électronique.
Souhaitez-vous rechercher les autres tâches de gestion relatives aux règles de transport ? Consultez la rubrique Gestion des règles de transport.
Table des matières
Expressions simples et expressions régulières
Expressions régulières dans Exchange 2010
Création d’une règle de transport utilisant une expression régulière
Expressions simples et expressions régulières
Pour comprendre les expressions régulières, vous devez d’abord comprendre les expressions simples. Une expression simple est une valeur spécifique que vous voulez mettre en correspondance exactement dans un message. Les prédicats utilisant des expressions simples correspondent à des mots spécifiques ou à des chaînes. Par exemple, une expression simple peut être le titre d’un document que votre organisation ne souhaite pas distribuer hors de ses murs, tel que Prévisions de ventes annuelles.doc. Les données d’un message électronique doivent correspondre exactement à une expression simple pour satisfaire à une condition ou une exception dans les règles de transport.
Une expression régulière est une notation concise et flexible servant à rechercher des modèles de texte dans un message. La notation se compose de deux types de caractères de base :
- Caractères littéraux Texte qui doit exister dans la chaîne cible. Il s’agit de caractères normaux, tels que vous les avez saisis.
- Métacaractères Un ou plusieurs caractères spéciaux qui ne sont pas interprétés littéralement. Ces erreurs indiquent comment le texte peut varier dans la chaîne cible.
Vous pouvez utiliser des expressions régulières pour analyser rapidement des messages électroniques afin d’y trouver des modèles de texte spécifiques. Cela vous permet de détecter des messages avec des types de contenu spécifiques, tels que des numéros de sécurité sociale, des numéros de brevet et des numéros de téléphone.
Vous ne pouvez raisonnablement pas mettre ces données en correspondance avec une expression simple parce qu’une telle expression exige de saisir chaque variante possible de la valeur que vous voulez détecter. Dans de nombreux cas, l’utilisation d’expressions simples pour de telles applications relève du défi logistique, et mettre en correspondance un grand nombre d’expressions simples dans le contenu des messages peut mobiliser beaucoup de ressources. L’utilisation d’expressions régulières est généralement plus efficace. Au lieu de spécifier toutes les variations possibles, vous pouvez configurer le prédicat de règle de transport pour rechercher un modèle de texte.
Expressions régulières dans Exchange 2010
Dans Exchange Management Shell, vous pouvez utiliser des expressions régulières dans tout prédicat qui accepte la propriété de prédicat Patterns. Dans Exchange Management Console, vous pouvez utiliser des expressions régulières avec toute condition ou exception contenant les mots avec modèles de texte. Pour plus d’informations sur les prédicats, voir Prédicats de règle de transport.
Attention : |
---|
Vous devez soigneusement tester les expressions régulières que vous construisez pour vous assurer qu’elles produisent les résultats escomptés. Une expression régulière mal configurée pourrait produire des correspondances inattendues et entraîner un comportement de règle de transport indésirable. Cela peut entraîner des actions indésirables sur les messages et leur contenu, susceptibles de provoquer la perte de données lors du rejet ou du transfert d’un message par exemple. Testez vos expressions régulières dans un environnement de test avant de les implémenter dans un environnement de production. |
Le tableau suivant répertorie toutes les chaînes de modèle que vous pouvez utiliser pour créer une expression régulière de mise en correspondance de modèle dans Exchange 2010.
Chaînes de modèle
Chaîne de modèle | Description |
---|---|
|
La chaîne de modèle |
|
La chaîne de modèle |
|
La chaîne de modèle |
|
La chaîne de modèle |
|
La chaîne de modèle |
|
La chaîne de modèle |
|
Le caractère ( |
|
Le caractère générique ( |
|
Les parenthèses servent de délimiteurs de regroupement. Par exemple, |
|
Une barre oblique inverse est utilisée comme caractère d’échappement avant un caractère spécial. Les caractères spéciaux sont des caractères utilisés dans les chaînes de modèle :
Par exemple, si vous voulez établir une correspondance avec une chaîne contenant |
|
L’accent circonflexe ( Par exemple, Ce caractère peut également être utilisé avec le signe dollar ( |
|
Le signe dollar ( Par exemple, Ce caractère peut également être utilisé avec l’accent circonflexe ( |
Construction d’expressions régulières
En vous référant au tableau précédent, vous pouvez construire une expression régulière qui met en correspondance le modèle des données que vous recherchez. En travaillant de gauche à droite, examinez chaque caractère ou groupe de caractères dans les données que vous voulez mettre en correspondance. Lisez la description de chaque chaîne de modèle pour déterminer la manière dont elle s’applique aux données que vous recherchez. Ensuite, déterminez la chaîne de modèle dans le tableau qui représente ce caractère ou groupe de caractères, puis ajoutez cette chaîne de modèle à l’expression régulière. Lorsque vous avez terminé, vous disposez d’une expression régulière construite entièrement.
Par exemple, l’expression régulière suivante correspond à des numéros de téléphone nord-américains aux formats 425 555-0100 et 425.555.0100 :
425(\s|.)\d\d\d(-|.)\d\d\d\d
Vous pouvez développer cet exemple en ajoutant le format de numéro de téléphone (425) 555-0100 où l’indicatif de la zone est entre parenthèses. Cet exemple d’une expression régulière correspond aux trois formats de numéros de téléphone.
\d\d\d((\s|.|-|\)|\)\s)\d\d\d(\s|.|-)\d\d\d\d
Vous pouvez analyser l’exemple précédent comme suit :
- \d\d\d Cette portion requiert la présence de trois caractères numériques en première position.
- ((\s|.|-|\)|\)\s) Cette portion requiert la présence d’un espace, d’un tiret ou d’un point après le nombre à trois chiffres. Les chaînes de recherche de caractères sont placées entre des délimiteurs de groupe et séparées par des caractères |. Cela signifie qu’un seul des caractères spécifiés dans les délimiteurs de regroupement peut exister dans cette position dans la chaîne recherchée. Pour la séparation entre le code de zone et les trois chiffres suivants, il recherche également une parenthèse fermante ou une parenthèse fermante suivie d’un point.
- \d\d\d Cette portion requiert la présence de trois caractères numériques.
- (\s|.|-) Cette portion requiert la présence d’un espace, d’un point ou d’un tiret après le nombre à trois chiffres.
- \d\d\d\d Cette portion requiert la présence de quatre caractères numériques.
L’expression régulière ci-dessus correspondra aux valeurs d’exemple suivantes :
- (425)555.0100
- 425 555 0100
- 425. 555-0100
- (425) 555-0100
- 425-555-0100
- (425) 555-0100
Création d’une règle de transport utilisant une expression régulière
Cet exemple illustre la création d’une règle de transport dans le Shell utilisant des expressions régulières pour établir une correspondance avec des numéros de sécurité sociale dans l’objet d’un message électronique
New-TransportRule -Name "Social Security Number Block Rule" -SubjectOrBodyMatchesPatterns '\d\d\d-\d\d-\d\d\d\d' -RejectMessageEnhancedStatusCode "5.7.1" -RejectMessageReasonText "This message has been rejected because of content restrictions"
Cet exemple permet d’afficher la nouvelle règle de transport.
Get-TransportRule "Social Security Number Block Rule" | Format-List