Login Login
MORE

CSharp:CSharpRegularExpressionTeoria

From Aino Wiki

Jump to: navigation, search

Verifiche

Corrispondenza pattern

La seguente serve a validare una stringa in input quindi il controllo restituirà una variabile booleana risultante dalla verifica con un pattern indicato nella regola della Regular Expression.

using System;
using System.Text.RegularExpressions;
 
public class Program
{	
	public static void Main()
	{
		string result = "";
		string strInput = "AAAA123456"; 
 
		var regex = @"^\w{4}\d{6,7}$";
		Match match = Regex.Match(strInput, regex, RegexOptions.IgnoreCase );
 
		if (!match.Success)
		{
			result = string.Format("'{0}' NON CORRISPONDE!", strInput);
		}
		else
		{
			result = string.Format("'{0}' OK corrisponde.", strInput);
		}
 
		Console.WriteLine(result);		
	}
}

etc

Elenco completo dei simboli al link: Microsoft MSDN

Caratteri di controllo

Carattere Significato Es. di pattern
[caratteri del gruppo] Ricerca ogni carattere tra parentesi [ae] --> verifica che nella stringa ci sia la 'a' che la 'e', parole che corrispondono sono: gaio, gaeleano...
[^caratteri del gruppo] ^ sta per la negazione di quel che segue come caratteri [^aeiouAEIOU] --> 

verifica che nella stringa NON ci siano vocali.

[primo-ultimo_carattere] Verifica che nella stringa ci sia un carattere nel range indicato [0-9] o [A-Z] --> verificano che nella stringa ci sia almeno un numero o almeno una maiuscola
. Il punto è un carattere Jolly (wildcard) che stà a rappresentare QUALSIASI carattere tranne \n (che stà per nuova linea) a.e --> sono corrispondenti parole come: ale, ace, nave, care ... 
\w Ricerca ogni carattere delle parole \w --> sulla stringa "ID A1.3" trova: 'I', 'D', 'A', '1', '3'
\W Ricerca ogni carattere che non sia di parole \W --> sulla stringa "ID A1.3" trova: ' ', '.', 
\s Ricerca ogni spazio vuoto
\S Ricerca ogni carattere che non sia uno spazio vuoto
\d Ricerca ogni cifra decimale
\D Ricerca ogni carattere che non sia una cifra decimale

-----------

Ancore

-----------

^ la regola che segue riguarda l'INIZIO della stringa ^\d{3} --> la stringa deve iniziare con numeri (grazie al '\d') di 3 caratteri (grazie al numero tra le '{','}')
$ la regola che segue riguarda la FINE della stringa
\A la corrispondenza deve coincidere all'inizio della stringa
\Z la corrispondenza deve coincidere dalla fine della stringa

Usare caratteri specialli

Alcuni caratteri non possono essere direttamente usati, ad esempio se in una stringa dobbiamo cercare quanti doppi punti ci sono occorre uno stratagemma per indicare ed usare i punti.
I caratteri speciali si circondano tra parentesi quadrate.

string direcoryIn = "..\\..\\..\\_WorkDirectory\\";
int upCount = Regex.Matches(direcoryIn, "[.][.]").Count;
//restituirà 3 in upCount

Mappa e Link


C# | RegularExpression


Visual Studio


Parole chiave:

Author