Espressioni regolari |
Proteus supporta due tipi di espressioni regolari: estese e semplici.
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.
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 |