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 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)