羡慕的代码我测试过了,问题出在\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]
关于正则表达式空格的问题.
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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]
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥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系统搭建请教(跨境电商用途)