2016-09-06 3 views
-1

У меня есть строка: GET public/hello.txt HTTP/1.1regex, чтобы захватить простой путь из строки?

и я пытаюсь захватить public/hello.txt.

Это то, что я пытался до сих пор: (?<=GET).+\\/[^\\.]+\\.[^ ]+(?!=(HTTP\\/1.1))

Есть ли лучший способ сделать это?

редактировать: пытался (?<=GET)(.+)(?= HTTP\\/1.1)

скомпилирован в Java, и согласовань не возвращает группы.

+0

Ваш regex кажется слишком сложным для того, что вам нужно. 'GET ([^] +) HTTP \/1.1' также должен работать. –

+0

Почему не простой '^ GET (\ S +)'? –

+0

Разделите строку в пространстве, возьмите вторую часть. Здесь нет необходимости в регулярном выражении. – Tomalak

ответ

1

как начало и конец в основном то же самое, это должно разделить его на 3 части

/(GET|POST) (.*) HTTP\/1.[01]/