正则表达式从字符串中获取简单路径?

时间:2016-09-06 13:45:41

标签: regex filepath

我有一个字符串:GET public/hello.txt HTTP/1.1

我想抓住public/hello.txt

这是我到目前为止所尝试的:(?<=GET ).+\\/[^\\.]+\\.[^ ]+(?!=(HTTP\\/1.1))

有更好的方法吗?

编辑: 尝试(?<=GET )(.+)(?= HTTP\\/1.1)

用Java编译,matcher不返回任何组。

2 个答案:

答案 0 :(得分:1)

您可以使用:

(?<=GET )(.+)(?= HTTP\/1.1)

请参阅demolive java

答案 1 :(得分:1)

因为开始和结束大致相同,所以应该将它分成3部分

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