pójdę na coś takiego:
Regex matcher = new Regex(@"([^():}]+)\(([^():}]*):([^():}]*)\)");
MatchCollection matches = matcher.Matches(str);
będzie to wyglądać za pośrednictwem wejścia za wszystko, co wygląda jak group1(group2:group3)
. (Jeśli którykolwiek z tych grup zawiera (
, )
lub :
cała sprawa zostanie zignorowany, ponieważ nie może dowiedzieć się, co ma być gdzie.)
Można wówczas uzyskać dopasowane wartości, jak na przykład
foreach(Match m in matches)
{
Console.WriteLine("First: {0}, Second: {1}, Third{2}",
m.Groups[1].Value, m.Groups[2].Value, m.Groups[3].Value);
}
więc jeśli chcesz tylko bity między (
i :
można użyć
foreach(Match m in matches)
{
Console.WriteLine(m.Groups[2].Value);
}
Czy myśli odwrócone, pojedyncze apostrofy w środku swojej ciąg? W tej chwili nie kodują twoich tagów. – Rawling
załóżmy, że istnieje tekst i chcę uzyskać tekst pomiędzy (i: operatorami.) Jak mogę to zrobić? –
Czy chcesz uzyskać odpowiedź tak/nie? Dlaczego nie spróbować sam? – slawekwin