标签: regex filepath
我有一个字符串:GET public/hello.txt HTTP/1.1
GET public/hello.txt HTTP/1.1
我想抓住public/hello.txt。
public/hello.txt
这是我到目前为止所尝试的:(?<=GET ).+\\/[^\\.]+\\.[^ ]+(?!=(HTTP\\/1.1))
(?<=GET ).+\\/[^\\.]+\\.[^ ]+(?!=(HTTP\\/1.1))
有更好的方法吗?
编辑: 尝试(?<=GET )(.+)(?= HTTP\\/1.1)
(?<=GET )(.+)(?= HTTP\\/1.1)
用Java编译,matcher不返回任何组。
答案 0 :(得分:1)
您可以使用:
(?<=GET )(.+)(?= HTTP\/1.1)
请参阅demo或live java
答案 1 :(得分:1)
因为开始和结束大致相同,所以应该将它分成3部分
/(GET|POST) (.*) HTTP\/1.[01]/