RegEx etiketleri içindeki metni almak için

oy
2

Bir ihtiyacım Normal İfadeleri 2 etiketleri içindeki metni alır.

Bir dizi içeren döndürülmüş Diyelim ki hiç bir metni <data> ve </data> etiketleri. Veya herhangi bir metin ( ve ) etiketleri içinde.

Ben C # RegEx yıllardan ile nasıl bunu yapabilir mi?


Gelişmiş soru olacaktır:

  1. Giriş dizesi color = rgb (50,20,30)
  2. C # RegEx işlemcisi tarafından döndürülen gibi nasıl 3 ayrı dizi yuva 3 numara alabilirim?
Oluştur 09/12/2008 saat 17:10
kaynak kullanıcı
Diğer dillerde...                            


5 cevaplar

oy
4

Perl regexp'in olurdu

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

Ama muhtemelen bu o fazla bilgi lazım.

Cevap 09/12/2008 saat 17:13
kaynak kullanıcı

oy
0

Yaşam Vadisi yapıları ayrıştırmak istediğinizde gerçek sorunlar ortaya inanıyoruz. Böyle XML incelemek istediğinizde Örneğin, <data><data>123</data><data>456</data></data> en dıştaki dahil veri ayıklamak için <data>etiketleri tek başına bir RegEx yeterli olmaz. Sadece biraz daha (güçlü ve spesifik) yöntemleri var nerede RegEx kullanmamayı uyarır. XML daha karmaşık görevleri yaparken Gerçek XML ayrıştırıcıları düşünülmelidir. Benim 2 sent ...

Cevap 09/12/2008 saat 17:35
kaynak kullanıcı

oy
1

Bu, benzer bir soru yardımcı olacaktır cevap vermektedir:

Cevap 09/12/2008 saat 17:54
kaynak kullanıcı

oy
3

Özellikle C # sözü beri burada ben tam bu ayrıştırma yapıyorum açıklanmıştır:

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

Sonra sonra ...

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);
}
Cevap 09/12/2008 saat 18:29
kaynak kullanıcı

oy
1

XML Ayrıştırma Regex kullanarak genellikle çok kötü bir fikirdir. Bkz bu cevabı .

Cevap 14/11/2009 saat 01:03
kaynak kullanıcı

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