java - 我无法分离 HTTP 正文 header

标签 java regex

我正在尝试检测您的内部字符串是否来自http请求的 header ,为此我正在检测两个换行符(根据标准):

String bufferRequest = socketServer.getBufferPart();

Pattern regexHTTP = Pattern.compile("((.+\\n)+\\n)");
Matcher regexMatcherHTTP = regexHTTP.matcher(bufferRequest);

if (regexMatcherHTTP.find()) {
    String requestHeader = regexMatcherHTTP.group(1);
    // ...

请求缓冲区示例:

GET / HTTP/1.1
abc: def
ghi: jkl

body part 1 ...

body part 2 ...

body etc ...

需要从“GET/”获取到“jkl”,但他没有检测到我,我做错了什么?

在 regexr.com 中工作正常:http://regexr.com/3ekjm

最佳答案

我的解决方案:

Pattern regexHTTP = Pattern.compile("((.+(\\r\\n|\\n))+(\\r\\n|\\n))");

关于java - 我无法分离 HTTP 正文 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40541484/

相关文章:

java - 尽管被要求通过中断终止,计时器线程仍会徘徊

java - 单元测试时在何处处理 NullPointerException(在函数中或构造函数中)

python - django:如何在没有空间的情况下过滤模型字段值?

php - 多个正则表达式捕获

regex - 使用 Perl 验证年份范围

java - 获取 TimerTask 下次计划运行的时间

java - 将对象添加到 ArrayList

java - 如何从服务器日志中删除警告: [WARN] No configuration found for the specified action: '/' in namespace: ''

PHP preg_replace : Case insensitive match with case sensitive replacement

javascript - C++ 和 JS RegEx 等价于\p{L}