Référence de syntaxe d’expression régulière

Vous pouvez définir et affecter des étendues d’entrée personnalisées à l’aide de la syntaxe d’expression régulière d’écriture manuscrite comprise par certains des modules de reconnaissance de l’écriture manuscrite Microsoft. La syntaxe est un sous-ensemble de l’implémentation du langage d’expression régulière dans le .NET Framework.

Il existe certaines différences dans la façon dont les expressions régulières d’écriture manuscrite sont utilisées et la façon dont les autres types d’expressions régulières sont utilisés. La syntaxe d’écriture manuscrite est utilisée pour spécifier une chaîne exacte qui sera mise en correspondance par le moteur de reconnaissance et non par une sous-chaîne. Par exemple, les expressions régulières ([a-z]+)p retournent des correspondances pour « soupe », « stop », « instep » et « oesophage ». Alors qu’une expression régulière équivalente de l’écriture manuscrite telle que s( !IS_ONECHAR)+p correspondrait à « soupe » et « stop », mais pas à « instep » et à « œsophage ».

L’écriture manuscrite d’expressions régulières ne prend pas en charge les espaces non cassants dans les expressions régulières. Autrement dit, vous ne pouvez pas utiliser l’entité « nbsp » dans une expression régulière d’écriture manuscrite.

Les sections suivantes décrivent plus en détail la syntaxe.

Opérateurs valides

Les opérateurs suivants sont valides pour créer des expressions régulières pour définir des étendues d’entrée pour les modules de reconnaissance d’écriture manuscrite.

Opérateur Description
*
Opérateur unaire postfix signifiant zéro ou plusieurs occurrences de l’opérande.
+
Opérateur unaire Postfix signifiant une ou plusieurs occurrences de l’opérande.
?
Opérateur unaire postfix signifiant zéro ou une occurrence de l’opérande.
|
Opérateur infix binaire qui signifie « ou ».
()
Utilisé pour regrouper les éléments.

 

L’implémentation Microsoft d’expressions régulières pour les modules de reconnaissance d’écriture manuscrite permet des applications répétées d’opérateurs unaires postfixés. Par exemple, a** = (a*)* = a*, b ?? = (b ?) ? = b ?. Ils permettent également des répétitions non consécutives, par exemple : a* ?* = ((a*) ?)* = (a*)* = a*. Ceci est différent des expressions régulières .NET Framework, qui autorisent uniquement les ? opérateur à répéter.

Une autre différence par rapport aux expressions régulières .NET Framework est que l’écriture manuscrite d’expressions régulières ne prend pas en charge une expression vide désignée avec une paire vide de parenthèses ().

Note

Seuls les caractères de la page de codes 1252 sont pris en charge pour l’écriture manuscrite d’expressions régulières.

 

Utilisation des étendues d’entrée

Vous pouvez également utiliser l’ensemble d’étendues d’entrée régulières définies dans le cadre de la fonction SetInputScope dans vos expressions régulières. Par exemple, la valeur du mois (numérique) est IS_DATE_MONTH. La syntaxe de spécification d’une étendue d’entrée dans le cadre d’une expression régulière consiste à prépender la valeur énumérée de l’étendue d’entrée avec une parenthèse ouverte et un point d’exclamation ( !, et placer une parenthèse fermante, ), à la fin. Par exemple:

( !IS_DATE_MONTH)

Si vous combinez l’étendue d’entrée IS_DEFAULT par ORing avec n’importe quelle autre étendue d’entrée, l’effet est que le module de reconnaissance peut retourner toute expression unique prise en charge par le modèle de langage par défaut (par exemple, un mot du dictionnaire système ou une date) avec ou sans ponctuation, ou toute valeur qui répond au reste de l’expression régulière passée au module de reconnaissance.

Note

Les membres suivants de SetInputScope ne sont pas pris en charge dans les expressions régulières : IS_PHRASELIST, IS_REGULAREXPRESSION, IS_SRGS, IS_XML.

 

Opérateurs non pris en charge

Les opérateurs d’expression régulière suivants ne sont pas pris en charge lors de la création d’expressions régulières d’écriture manuscrite.

Opérateur Description
.
Caractère de période.
[]
Crochets. Utilisez des parenthèses pour regrouper des éléments.
{}
Crochets courbés.
( ?# commentaire) et #[ commentaire ]
Commentaires.
$
Caractère de signe dollar.
^
Caractère de caresse.
-
Tiret. Doit OU (|) regrouper tous les ensembles d’éléments.

 

Échappement de caractères

Les caractères ordinaires, autres que ceux du tableau suivant, correspondent eux-mêmes. Autrement dit, un « a » dans une expression régulière spécifie que l’entrée doit correspondre à un « a ».

Une autre différence significative dans l’écriture manuscrite d’expressions régulières est que vous ne pouvez échapper qu’un ensemble limité de caractères dans une expression régulière. Le tableau suivant présente l’ensemble autorisé de caractères qui peuvent être échappés. Toute autre tentative d’échappement d’un caractère entraîne une erreur levée par le module de reconnaissance.

Personnage
\*
\+
\?
\(
\)
\|
\\
\!
\.
\[
\]
\^
\{
\}
\$
\#