RegEx zu erhalten Text innerhalb von Tags

stimmen
2

Ich brauche einen regulären Ausdrücke , um den Text innerhalb von 2 - Tags zu erhalten.

Lets sagen , dass ich ein Array zurückgegeben werden soll enthält einen beliebigen Text innerhalb <data> und </data> -Tags. Oder ein beliebiger Text innerhalb ( und ) Tags.

Wie kann ich mit RegEx ist in C # tun?


Eine erweiterte Frage wäre:

  1. Die Eingabezeichenfolge ist color = rgb (50,20,30)
  2. Wie kann ich die drei Zahlen in drei separaten Array-Slots, wie durch den RegEx Prozessor in C # zurückgegeben?
Veröffentlicht am 09/12/2008 um 17:10
quelle vom benutzer
In anderen Sprachen...                            


5 antworten

stimmen
4

Perl regexp wäre

$string =~ /color=rgb\((\d+),(\d+),(\d+)\)/;
@array = ($1,$2,$3);

Aber Sie müssen wahrscheinlich mehr Informationen, dass dies.

Beantwortet am 09/12/2008 um 17:13
quelle vom benutzer

stimmen
3

Da Sie speziell C # erwähnt, ist hier, wie ich das genaue Analyse mache:

private static readonly Regex RgbValuePattern = new Regex(@"(?<r>\d{1,3}) ?, ?(?<g>\d{1,3}) ?, ?(?<b>\d{1,3})",
                                                          RegexOptions.Compiled | RegexOptions.ExplicitCapture);

Dann später ...

var match = RgbValuePattern.Match(value);

if (match.Success)
{
    int r = Int32.Parse(match.Groups["r"].Value, NumberFormatInfo.InvariantInfo);
    int g = Int32.Parse(match.Groups["g"].Value, NumberFormatInfo.InvariantInfo);
    int b = Int32.Parse(match.Groups["b"].Value, NumberFormatInfo.InvariantInfo);
    return Color.FromArgb(r, g, b);
}
Beantwortet am 09/12/2008 um 18:29
quelle vom benutzer

stimmen
1

Regex mit Hilfe von XML zu analysieren , ist in der Regel eine wirklich schlechte Idee. Sehen Sie diese Antwort .

Beantwortet am 14/11/2009 um 01:03
quelle vom benutzer

stimmen
1

Diese ähnliche Frage hat Antworten, die helfen:

Beantwortet am 09/12/2008 um 17:54
quelle vom benutzer

stimmen
0

Ich glaube , echte Probleme entstehen , wenn Sie nisten Konstrukte analysieren möchten. Zum Beispiel, wenn Sie XML so untersuchen wollen <data><data>123</data><data>456</data></data> Daten in äußersten enthalten extrahieren <data>Tags ein RegEx nicht allein genügen. Nur warnen Sie nicht RegEx verwenden , wo einige weitere (starke und spezifische) Methoden bestehen. Real XML - Parser sollte in Betracht gezogen werden , wenn komplexere Aufgaben auf XML zu tun. Meine 2 Cent ...

Beantwortet am 09/12/2008 um 17:35
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more