Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile definire e assegnare ambiti di input personalizzati usando la sintassi dell'espressione regolare grafia compresa da alcuni dei riconoscitori di grafia Microsoft. La sintassi è un subset del 'implementazione del linguaggio di espressioni regolari in .NET Framework.
Esistono alcune differenze nel modo in cui vengono usate le espressioni regolari per la grafia e il modo in cui vengono usati gli altri tipi di espressioni regolari. La sintassi della grafia viene usata per specificare una stringa esatta corrispondente al motore di riconoscimento e non a una sottostringa. Ad esempio, l'espressione regolare s([a-z]+)p restituirà corrispondenze per "soup", "stop", "instep" e "esofago". Mentre un'espressione regolare di grafia equivalente, ad esempio s(!IS_ONECHAR)+p corrisponderebbe a "soup" e "stop", ma non "instep" e "esofago".
La grafia delle espressioni regolari non supporta spazi di interruzione all'interno di espressioni regolari. Ciò significa che non è possibile utilizzare l'entità "nbsp" all'interno di un'espressione regolare di scrittura manuale.
Le sezioni seguenti descrivono la sintassi in modo più dettagliato.
Operatori validi
Gli operatori seguenti sono validi per la creazione di espressioni regolari per definire gli ambiti di input per i riconoscitori di grafia.
| Operatore | Descrizione |
|---|---|
| * |
Operatore unario postfix che firma zero o più occorrenze dell'operando. |
| + |
Operatore unario postfix che firma una o più occorrenze dell'operando. |
| ? |
Operatore unario postfix che firma zero o un'occorrenza dell'operando. |
| | |
Operatore infix binario che significa "or". |
| () |
Utilizzato per raggruppare gli elementi. |
L'implementazione Microsoft di espressioni regolari per i riconoscitori di grafia consente applicazioni ripetute di operatori unari postfissi. Ad esempio, a** = (a*)* = a*, b?? = (b?)? = b?. Consentono inoltre ripetizioni non consecutive, ad esempio: a*?* = ((a*)?)* = (a*)* = a*. Ciò è diverso dalle espressioni regolari di .NET Framework, che consentono solo l'oggetto ? operatore da ripetere.
Un'altra differenza rispetto alle espressioni regolari di .NET Framework è che la grafia delle espressioni regolari non supporta un'espressione vuota designata con una coppia vuota di parentesi ( ).
Nota
Solo i caratteri nella tabella codici 1252 sono supportati per la grafia delle espressioni regolari.
Uso degli ambiti di input
È anche possibile usare il set di ambiti di input regolari definiti come parte della funzione SetInputScope nelle espressioni regolari. Ad esempio, il valore per Month (numerico) è IS_DATE_MONTH. La sintassi per specificare un ambito di input come parte di un'espressione regolare consiste nell'anteporre il valore enumerato all'ambito di input con una parentesi aperta e un punto esclamativo, (!, e inserire una parentesi chiusa, ), alla fine. Per esempio:
(!IS_DATE_MONTH)
Se si combina l'ambito di input IS_DEFAULT da ORing con qualsiasi altro ambito di input, l'effetto è che il riconoscitore può restituire qualsiasi singola espressione supportata dal modello linguistico predefinito (ad esempio, una parola del dizionario di sistema o una data) con o senza punteggiatura o qualsiasi valore che soddisfi il resto dell'espressione regolare passata al riconoscitore.
Nota
I membri seguenti di SetInputScope non sono supportati nelle espressioni regolari: IS_PHRASELIST, IS_REGULAREXPRESSION, IS_SRGS IS_XML.
Operatori non supportati
Gli operatori di espressioni regolari seguenti non sono supportati durante la creazione di espressioni regolari di scrittura manuale.
| Operatore | Descrizione |
|---|---|
| . |
Carattere punto. |
| [] |
Parentesi quadre. Usare le parentesi per raggruppare gli elementi. |
| {} |
Parentesi graffe. |
| (?# commento) e #[ commento ] |
Commenti. |
| $ |
Simbolo di dollaro. |
| ^ |
Carattere cursore. |
| - |
Carattere trattino. Or (|) insieme a tutti i set di elementi. |
Caratteri di escape
I caratteri ordinari, diversi da quelli della tabella seguente, corrispondono a se stessi. Ovvero, un "a" in un'espressione regolare specifica che l'input deve corrispondere a un "a".
Un'altra differenza significativa nella scrittura di espressioni regolari di scrittura manuale consiste nel fatto che è possibile eseguire l'escape solo di un set limitato di caratteri all'interno di un'espressione regolare. Nella tabella seguente viene descritto il set di caratteri consentiti di cui è possibile eseguire l'escape. Qualsiasi altro tentativo di escape di un carattere genererà un errore generato dal riconoscitore.
| Carattere |
|---|
| \* |
| \+ |
| \? |
| \( |
| \) |
| \| |
| \\ |
| \! |
| \. |
| \[ |
| \] |
| \^ |
| \{ |
| \} |
| \$ |
| \# |