Named Capture Groups in C

Mit Named Capture Groups können Elemente aus einem String gesucht und extrahiert werden:

//MEML [00003000] = (0xE4C2C001,   -456998911)
String pattern = @".+\((?<hex>.+),(?<dec>.+)\)";
Regex regex = new Regex(pattern);            
Match match = regex.Match(s);

if (match.Success)
{
    String value = match.Groups["dec"].Value.Trim();
    outValue = Convert.ToInt32(value);
}  

Erklärung

Nehmen wir an, wir haben den String:

MEML [00003000] = (0xE4C2C001,   -456998911)

Wir wollen die beiden Werte in den Klammern auslesen. Dafür verwenden wir den regulären Ausdruck:

.+\((?<hex>.+),(?<dec>.+)\)

Dieser enthält die beiden Named Capture Groups "hex" und "dec".

Passt der Match, dann können wir diese nun auslesen:

String value = match.Groups["dec"].Value.Trim();


Datenschutzerklärung | Impressum