Мой текущий регулярное выражение выглядит следующим образом:Regex захватить вторую группу параметров
(?<token>#gallery (?<id>[^#]+)#)
Я использую это, чтобы захватить некоторую информацию.
В случае #gallery d23d23d#
Было бы greab d23d23d
как groupd имени Id
.
мне нужно расширить это, чтобы обеспечить дополнительные параметры, чтобы я мог захватить
#gallery d23d23d foo#
и получить d23d23d
и foo
в отдельных группах?
Мои навыки в регулярном выражении безнадежны, некоторая помощь будет оценена по достоинству.
Спасибо.
Тестирование на http://gskinner.com/RegExr сначала не просто захватывает одну группу, а второе просто захватывает все дополнительные как одну группу ... – shenku
ммм почти нет, нет ли способа использовать третью option '(? #gallery (?: (? [^ #] +)) * #)' но есть ли каждое значение между пробелами в отдельной группе? –
shenku
@shenku Вы не можете поместить их в отдельную группу без явного создания для них отдельных групп, но тогда вы ограничены количеством заданных вами групп. Я предположил, что вы можете просто определить произвольно большое количество групп, следуя моему второму примеру в качестве руководства: '(? #gallery (? [^ #] +) (?: (? [^ #] +) (?: (? [^ #] +) (?: (? [^ #] +))?)?)? #) 'Будет соответствовать от 1 до 4 параметров, но, как вы можете видеть, это быстро выходит из-под контроля , –