/ / Regex do ograniczenia tylko drugiego wystąpienia nawiasów otwartych i zamkniętych przy użyciu C # - c #, regex

Regex ogranicza tylko drugie wystąpienie nawiasów otwartych i zamykających przy użyciu C # - c #, regex

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 № 1

Prawdopodobnie 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.