String auf korrektes Datum prüfen

using System.Text.RegularExpressions;

// Datum der Form "tt.mm.jjjj"
// jede Gruppe muss genau 1x vorkommen
// Tag: 1., 01. - 31.
// .
// Monat: 1., 01. - 12.
// .
// Jahr: 1900, 1980, 2000, 2009 ...
Regex rex = new Regex("^(0[1-9]|[1-9]|[12][0-9]|3[01]){1}\\.(0[1-9]|[1-9]|1[012]){1}\\.((19|20){1}[0-9]{2}){1}$", RegexOptions.None);

if (rex.IsMatch("1.1.2009"))
{
    // Datum ok
}

String auf korrekte Email-Adresse prüfen

using System.Text.RegularExpressions;

// 1 oder mehrere bel. Zeichen aus [a-zA-Z0-9_\\.]
// @
// 1 oder mehrere bel. Zeichen aus [a-zA-Z_]
// .
// 2-6 Zeichen aus [a-zA-Z]
Regex rex = new Regex("^([a-zA-Z0-9_\\.]+@[a-zA-Z_]+?\\.[a-zA-Z]{2,6})$", RegexOptions.None);

if (rex.IsMatch("horst_01.horstmann_1980@superdomain.com"))
{
    // Email korrekt
}

RegEx Übersicht

Ausdrücke

[abc]    einzelner Buchstabe a, b, oder c
[^abc]   einzelner Buchstabe außer a, b, oder c
[0-9]    alle Zahlen von 0-9
[a-z]    alle Buchstaben von a-z
[a-zA-Z] alle Buchstaben von a-z oder A-Z
\s       Leerzeichen [ \t\n\r\f\v]
\S       Nicht-Leerzeichen [^ \t\n\r\f\v]
\d       Dezimalziffer [0-9]
\D       Nicht-Dezimalziffer [^0-9]
\w       beliebiges Wortzeichen [a-zA-Z0-9_]
\W       beliebiges Nicht-Wortzeichen [^a-zA-Z0-9_]
\b       Position zwischen \w und \W, z.B. Anfang und Ende eines Wortes
\B       eine Position nicht zwischen \w und \W
|        Trennung mehrerer Möglichkeiten
()       Gruppierung für Wiederholungsoperatoren
^        Stringanfang
$        Stringende

Quantifizierer

*              0 oder mehr Wiederholungen des vorangegangenen Musters
+              1 oder mehr Wiederholungen des vorangegangenen Musters
?              0 oder 1 Wiederholung des nachfolgenden Musters
{n}            genau n Wiederholungen des vorangegangenen Musters
{n,}           mindestens n Wiederholungen des vorangegangenen Musters
{n,m}          mindestens n und höchstens m Wiederholungen des vorangegangenen Musters

Weiterführende Infos: Link

String auf korrekte Kommazahlen prüfen

using System.Text.RegularExpressions;
using System.Globalization;

// akt. Dezimalseparator, hier i.d.R.: ","
string sDS = NumberFormatInfo.CurrentInfo.NumberDecimalSeparator;

// n Zahlen, gefolgt von 0 oder 1 Dezimalseparator, gefolgt von n Zahlen
Regex rex = new Regex("^[0-9]*" + sDS + "?[0-9]*$", RegexOptions.None);

if (rex.IsMatch("3,6789"))
{
    // Zahl ok
}