Как я могу захватить текст между вьющимися скобками? [дублировать]C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу захватить текст между вьющимися скобками? [дублировать]

Сообщение Anonymous »

Я хочу итерацию по каждому матчу, но мой код находит только 1 матч (все между первым и последним персонажем). Я хочу итерацию по 3 совпадениям, найденным в: < /p>

Код: Выделить всё

value = "{account_id}{user_id}{someValue}";
Значение может включать любое число этих подстроков «{str}», где STR - это верхний или нижний чехол и может содержать _ . Но это только находит 1 совпадение (все это) с использованием «{\\ s+}» .

Код: Выделить всё

foreach (Match match in Regex.Matches(value, "{\\S+}"))
{
var key = match.Value.Replace("{", "").Replace("}", "").Trim();
// do stuff with key...
}
< /code>
Это имеет смысл, потому что «{" и "}"-оба небелые космические символы. "{[a-za-z _]}" 
тоже не сбои:

Код: Выделить всё

foreach (Match match in Regex.Matches(value, "{[a-zA-Z_]}"))
{
var key = match.Value.Replace("{", "").Replace("}", "").Trim();
// do stuff with key...
}
< /code>
клавиша переменной в цикле должна быть «Account_ID», затем «user_id», затем «SomeValue», однако это всегда «Account_iduser_idsomevalue» (все это). Как я могу это исправить? Использование +
вместо этого вернет только 1 результат (все это, а не пустой набор), который ничем не отличается.>

Подробнее здесь: https://stackoverflow.com/questions/566 ... rly-braces
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»