Espressioni regolari

Proteus supporta due tipi di espressioni regolari: estese e semplici.

Espressioni regolari estese

Le espressioni regolari estese sono più potenti ma anche più complesse da utilizzare; esse consistono in una stringa di caratteri in cui alcuni sono interpretati letteralmente, mentre altri sono caratteri di controllo con significato speciale. Ecco una breve spiegazione sul loro uso:

L'ordine di precedenza degli operatori allo stesso livello di parentesi è (da massima precedenza a minima precedenza):

[] *+? concatenazione |

Alcuni esempi di espressioni regolari estese (sono utilizzate dalla funzione REXMATCH, REXIMATCH ed altre):

"^a" accetta una stringa che inizia per 'a'
"^mele" accetta una stinga che inizia per 'mele'
"a$" accetta una stringa che finisce per 'a'
"arance$" accetta una stringa che finisce per 'arance'
"m..a" accetta una stringa che contiene una parola di 4 lettere che inizia per 'm' e finisce per 'a' (es. 'mela', 'meta' ma non 'manna')
"[ab]" accetta una stringa che contiene 'a' o 'b'
"[^ab]" accetta una stringa che contiene un carattere diverso da 'a' e 'b'
"^[0-3][0-9]/[0-1][0-9]/[0-9][0-9]$" accetta una data (tipo "30/12/97")
"c(a|o)sa" accetta una stringa che contiene la parola 'casa' o 'cosa' (non 'ca' o 'osa')
"principii?" accetta una stringa contenente 'principi' o 'principii'
"^[0-9]*$" accetta una stringa vuota oppure un numero con le sole cifre '0'-'9'
"^[a-zA-Z]+[a-zA-Z0-9]*$" accetta un nome di identificatore (inizia per una lettera, può contenere solo lettere o numeri, è lungo almeno un carattere)
"^(salve)|(arrivederci)$" accetta le due stringhe 'salve' e 'arrivederci'

Ulteriori dettagli si possono trovare qui.

Espressioni regolari semplici

Le espressioni regolari semplici sono più facili da utilizzare rispetto a quelle estese; a differenza di queste ultime, presentano solo due caratteri speciali:

Il match è insensibile alle maiuscole, utilizzando la funzione IMATCH:

"b*o" corrisponde a "bello", "BELLO", "bellO", eccetera.

Alcuni esempi di espressioni regolari semplici (sono utilizzate dalla funzione MATCH, IMATCH ed altre):

"*c?sa*" accetta una stringa che contiene la lettera 'c' e la stringa 'sa' separate da un unico carattere (ad. esempio 'casa', 'cosa')
"c*" accetta una stringa che inizia per 'c'
"*a" accetta una stringa che finisce per 'a'
"???" accetta una stringa di tre caratteri
"*uno*due*tre*" accetta una stringa che presenta le tre stringhe 'uno', 'due', 'tre' in quest'ordine

Ulteriori dettagli si possono trovare qui.

Inizio pagina Prossimo argomento Argomento precedente Indice per argomenti Indice analitico