2013-05-02 1 views
0

У меня есть параметр запроса в следующем форматеРегулярное выражение для получения определенной части параметра запроса из записи журнала?

"POST /upload/sendData.htm HTTP/1.1" 

И я хочу, чтобы извлечь имя ресурса из того, что в данном случае является upload/sendData.htm

Любые указатели о том, как это сделать, как в некоторых случаях запрос приходит как

"POST //upload/sendData.htm HTTP/1.1" 

или

"POST ///upload/sendData.htm HTTP/1.1" 

Я использую Java

+0

Ее не всегда запрос POST ..... это может быть GET, PUT, как хорошо – Ananda

ответ

2

Просто догадайтесь, но это то, что вы ищете?

POST \/+(\w+\/\w+.\w+) 

http://rubular.com/r/IUlIH9LDzS


или, возможно, это

POST \/+(.+)\s 

http://rubular.com/r/sdw51Ek1Wi

+0

его не всегда POST запрос ..... это может быть GET, PUT, а также – Ananda

+0

@bril в этом случае вы можете, конечно, изменить свое регулярное выражение для учетной записи для обоих из них, или вы можете просто объяснить абстрактную команду, например '^ [AZ] + \/+ (. +) \ s' –

0

Используйте это:

"^POST /+(.+) HTTP/1\.1$" 
0

Попробуйте это:

"/POST[ ]+\/+([^\/].+[^ ])[ ]+HTTP/" 
Смежные вопросы