我正在尝试匹配 HTTP 请求行并获取请求的项目。我有以下正则表达式:
Pattern regex = Pattern.compile("GET /(\\w+\\.\\w+)? HTTP/1.1");
如果你检查它,你会注意到一个可选的 group (\\w+\\.\\w+)?
。当我发送文件时,例如GET /index.html HTTP/1.1
它可以正常工作并matcher.groupCount()
返回1
. 问题是当我发送类似GET / HTTP/1.1
. 我不知道如何检查组是否匹配,因为也matcher.groupCount()
返回1
了。我怀疑该groupCount()
函数返回正则表达式中的组数,而不管它们是否存在于已解析的字符串中。
谢谢