RegEx dostat text uvnitř značky

hlasů
2

Potřebuji regulární výrazy , aby text do 2 tagů.

Řekněme, že chci pole vrátil obsahující jakýkoliv text v <data> a </data> tagy. Nebo jakýkoli text v „(“ a „)“ značek.

Jak to mám udělat, že se RegEx let v C #?


Pokročilý otázkou by bylo:

  1. Vstupní řetězec je color = rgb (50,20,30)
  2. Jak mohu získat 3 čísla ve 3 samostatných pole slotů vrácené RegEx procesoru v jazyce C #?
Položena 09/12/2008 v 17:10
zdroj uživatelem
V jiných jazycích...                            


5 odpovědí

hlasů
4

Perl regexp bude

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

Ale budete pravděpodobně potřebovat více informací, aby to.

Odpovězeno 09/12/2008 v 17:13
zdroj uživatelem

hlasů
3

Vzhledem k tomu výslovně uvedeno C #, zde je návod, jak to dělám, že přesné analýze:

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

Pak o něco později ...

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);
}
Odpovězeno 09/12/2008 v 18:29
zdroj uživatelem

hlasů
1

Používání Regex analyzovat XML je obvykle opravdu špatný nápad. Viz tuto odpověď .

Odpovězeno 14/11/2009 v 01:03
zdroj uživatelem

hlasů
1

Tato podobná otázka má odpovědi, které vám pomohou:

Odpovězeno 09/12/2008 v 17:54
zdroj uživatelem

hlasů
0

Věřím, že skutečné problémy vzniknou, pokud chcete analyzovat hnízdění konstrukce. Například, pokud chcete prozkoumat XML takhle <data><data>123</data><data>456</data></data> k extrakci dat obsažených v nejvzdálenějších <data>tagů jedna RegEx sám nebude stačit. Jen vás varovat, aby nepoužíval RegEx kde existují některé další (silné a specifické) metody. Skutečný XML analyzátory je třeba zvážit při provádění složitějších úkolů na XML. Moje 2 centy ...

Odpovězeno 09/12/2008 v 17:35
zdroj uživatelem

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