регулярное выражение для получения значений между строкой через запятую - PullRequest
0 голосов
/ 31 мая 2018

Я не в восторге от регулярных выражений, сделал много гуглов, но по некоторым причинам, похоже, борется с этим.По сути, у меня есть строка как:

VALUE1,VALUE2,VALUE3,VALUE4

Теперь все, что нужно, это регулярное выражение, где я могу сказать, дать мне значение 2 или 3 и т. Д.

Я бы подумал, что смогу сделатьчто-то вроде этого, чтобы получить 2-е значение

,.*,,

Это для последнего и т. д.

,,,.*

Должно быть простое решение для этого ... также следует добавить, что это должно быть сделано черезрегулярное выражение!

1 Ответ

0 голосов
/ 31 мая 2018

Я думаю, что все, что вам нужно здесь, это разделение регулярных выражений на разделителе запятой:

Dim input As String = "VALUE1,VALUE2,VALUE3,VALUE4"
Dim terms() As String = Regex.Split(input, ",\s*")
For Each term As String In terms
    Console.WriteLine(term)
Next

Демо

Обратите внимание, что я разделилна ,\s*, в случае, если после каждой запятой может быть пробел.

Мы могли бы попытаться дать вам необработанное регулярное выражение, которое могло бы извлечь термин в данной позиции, но даже этопотребуется знать, какой инструмент вы используете, чтобы узнать, как получить доступ к группе захвата.Поскольку вы используете VB.net, разделение строки с помощью регулярных выражений, вероятно, является лучшим способом.

Редактировать:

Из комментариев, возможно, следующее регулярное выражениешаблон это то, что вы ищете:

^(?:.*?,){3}(.*?)(?=,|$).*$

Демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...