2010-08-02 4 views
2

Я пытаюсь использовать Regex, чтобы получить бит, если обработчик HTTP-заголовка выполнен. Я хотел бы использовать группы, чтобы организовать часть информации:Разбор HTTP-заголовка Regex

Скажем, у меня есть это:

Content-Disposition: form-data; name="item1"

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

contentdisposition : form-data 
name : item1 

Я пробовал несколько методов, но я не могу понять, как это сделать. Если name = не существует, необходимо создать только одну группу, но регулярное выражение не должно выходить из строя.

Любые идеи?

+1

Простой синтаксический анализ может быть более подходящим для данной ситуации, заголовки обычно довольно предсказуемы. Если вы хотите пойти по маршруту регулярных выражений, добавьте тег языка, который вы используете, вы получите гораздо больше ответов таким образом. – Wrikken

ответ

3

/Content-Disposition: (.*?);(?: name="(.*?)")?/ может быть то, что вы ищете. Он использует необязательный жадный квантификатор, чтобы получить имя, если это не приведет к сбою совпадения.

Смежные вопросы