REGEX   zodpovězená otázka

Regulární výrazy

Dobrý den, potřebuji poradit...

Ze hry mi přijde status v tomto strašném formátu:

num score ping guid name lastmsg address qport rate

#--- ----- ---- -------------------------------- --------------- ------- --------------------- ----- -----

# 4 0 23 blablablabfa218d4be29e7168c637be ^1XLR^78^9or[^7^7 0 135.94.165.296:63564 25313 25000

Vy pythonu funguje tento regexp

_regPlayer = re.compile(r'^(?P<slot>[0-9]+)\s+(?P<score>[0-9-]+)\s+(?P<ping>[0-9]+)\s+(?P<guid>[a-z0-9]+)\s+(?P<name>.*?)\s+(?P<last>[0-9]+)\s+(?P<ip>[0-9.]+):(?P<port>[0-9-]+)\s+(?P<qport>[0-9-]+)\s+(?P<rate>[0-9]+)$', re.I)

Match m = Regex.Match(hraci[i], @"^(?P<slot>[0-9]+\s+(?P<score>[0-9-]+\s+(?P<ping>[0-9]+\s+(?P<guid>[a-z0-9]+\s+(?P<name>.*?\s+(?P<last>[0-9]+\s+(?P<ip>[0-9.]+:(?P<port>[0-9-]+\s+(?P<qport>[0-9-]+\s+(?P<rate>[0-9])", RegexOptions.IgnoreCase);

Když to převedu do C#, tak to ale nejde

Match m = Regex.Match(radek, @"^(?P<slot>[0-9]+)\s+(?P<score>[0-9-]+)\s+(?P<ping>[0-9]+)\s+(?P<guid>[a-z0-9]+)\s+(?P<name>.*?)\s+(?P<last>[0-9]+)\s+(?P<ip>[0-9.]+):(?P<port>[0-9-]+)\s+(?P<qport>[0-9-]+)\s+(?P<rate>[0-9]+)$", RegexOptions.IgnoreCase);

Console.WriteLine(m.Groups.Count);

Console.WriteLine(m.Groups["ip"].Value);

nahlásit spamnahlásit spam 0 odpovědětodpovědět

A co znamená, že to nejde? Spadne to? Vrátí to špatný výsledek? Nenamatchuje to ten výraz?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Už jsem na to přišel, u groupů přebývalo to P... V pythonu označuje group a v C# to není nutné... Jinak program padal ne exceptione invalid group construktor

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback