Mam ciąg "(BETA) (27 lutego 2011 r.)"
Potrzebuję uzyskać drugie wystąpienie nawiasów otwartych i zamkniętych przy użyciu C #
Odpowiedzi:
4 dla odpowiedzi № 1Prawdopodobnie najłatwiej jest dopasować wszystkie (...)
tokeny i zrób drugie:
MatchCollection matches = Regex.Matches(str, @"(([^)]*))");
Pierwsze drugie dopasowanie:
String second = matches[1].Groups[1].Value;
Wyrażenie przyjmuje poprawne pary nawiasów i brak zagnieżdżenia. Jest to dość podstawowe:
(
- Otwarcie.(...)
- Przechwytywanie grupy, aby łatwo wyodrębnić wartość.[^)]*
- Treść grupy - znaki, które nie są(
.)
- Zamykanie.
2 dla odpowiedzi nr 2
Czy chcesz go w regex? Jeśli nie regex:
int n = text.indexOf("(");
if (n >= 0) {
n = text.indexOf("(", n+1);
}
Regex:
(.+?)s*((.+?))
Zwróć uwagę na użycie następującego "?" wymusić tryb nieagresywny. I musisz mieć przynajmniej jedną postać w nawiasach.