raindreams 2010-11-20 21:37
浏览 315
已采纳

关于正则表达式空格的问题.

羡慕的代码我测试过了,问题出在\s-\s-\s上,但是不知道为什么错啦....求指教!
[code="java"]
private String testStr = "58.61.164.141 – - [22/Feb/2010:09:51:46 +0800] “GET / HTTP/1.1″ 206 6326 ” ";
private String regex="([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\s-\s-\s\[([^\]]+)\]";[/code]

  • 写回答

4条回答 默认 最新

  • beneo 2010-11-22 10:20
    关注

    [quote]
    58.61.164.141 – - [22/Feb/2010:09:51:46 +0800] “GET / HTTP/1.1″ 206 6326 ”
    [/quote]

    你看到你给出的字符串么??中间那个“——”,有长有短,你看看“GET”前面的引号,那是中文的引号

    你把所有的中文字符去掉,然后换成英文字符试试,下面是我把你的testStr改了以后的测试

    [code="java"]
    String testStr = "58.61.164.141 - - [22/Feb/2010:09:51:46 +0800] \"GET / HTTP/1.1\" 206 6326";
    String regex = "([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\s-\s-\s\[([^\]]+)\]";

        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(testStr);
    
        if(matcher.find()) {
            System.out.println(matcher.group(1));
            System.out.println(matcher.group(2));
        }
    

    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计