Пример данных:
!! Часть | 123456, ABCDEF, ABC132 !!
Список с разделителями-запятыми может быть любым числом любой комбинации альфа и цифр
Я хочу, чтобы регулярное выражение совпадало с записями в списке через запятую:
Что у меня есть:
!! PART \ | (\ W +): * !!
({1} (\ W +)?)
Что, похоже, делает эту работу, я хочу получить их по порядку в ArrayList или аналогичный, поэтому в примерах данных я бы хотел:
- 1 - 132456
- 2 - ABCDEF
- 3 - ABC123
Код, который у меня есть:
string partRegularExpression = @"!!PART\|(\w+)(?:,{1}(\w+))*!!"
Match match = Regex.Match(tag, partRegularExpression);
ArrayList results = new ArrayList();
foreach (Group group in match.Groups)
{
results.Add(group.Value);
}
Но это дает мне неожиданные результаты. Чего мне не хватает?
Спасибо
Edit:
Решением было бы использовать регулярное выражение типа !! PART \ | (\ w + (?:, ?? \ w +) *) !! захватить разделенный запятыми список, а затем разделить его, как это было предложено Марком Гравеллом
Мне все еще любопытно, какое рабочее регулярное выражение для этого: o)