Football Standings/League RegEx problem.
Пичове, някой може ли да ми скалъпи един RegEx, който да извлича string-а между KZL....KZL?
https://postimg.org/image/y58uwt13j/
Пичове, някой може ли да ми скалъпи един RegEx, който да извлича string-а между KZL....KZL?
https://postimg.org/image/y58uwt13j/
Можеш да опиташ този: @"(?<=KZL).*?(?=KZL)", той използва т.нар positive lookbehind и positive lookahead. Тоест взима съдържанието между KZL, аналогично можеш да смениш частта с KZL и да вземеш съдържанието между други тагове например.
Ако искаш само имената на държавите м/у ключовите думи KZL с извличане ред по ред, пример
static void Main(string[] args)
{
var text = @"KZL
fdKZLairagluBKZLKZLkramneDKZL || 2:0
asdKZLAiRaGlubKZLKZLylaTIKZLkk 1:1";
var regex = new Regex(@"\b.*?(KZL)(.*?)(KZL)(KZL)(.*?)(KZL).*?(\d+:\d+)");
var matches = regex.Matches(text);
foreach (Match match in matches)
{
var host = ReverseName(match.Groups[2].Value);
var visitor = ReverseName(match.Groups[5].Value);
var result = match.Groups[7].Value;
Console.WriteLine($"{host} - {visitor} {result}");
}
}
static string ReverseName(string expr)
{
return string.Join("", expr.ToCharArray().Reverse()).ToUpper();
}
Резултати:
BULGARIA - DENMARK 2:0
BULGARIA - ITALY 1:1
Host и visitor ти извличат само съответно държава - домакин и държава - гост.
Благодаря и на двамата за бързата реакция! :) Много помогнахте!
А пичове, като заменил KZL с ?? нещо се чупи и не зачита ?? както KZL. Идеи?
А при случая с ?? нещо се чупи?
Просто замени KZL в regex-а с ??.
Не се получава, чупи се.
https://postimg.org/image/8fbxhtx7x/