专题1234导航

正则表达式

来源:互联网
发表时间:2017/4/21 10:25:41
责任编辑:鲁晓倩
字体:

为了帮助网友解决“正则表达式”相关的问题,学网通过互联网对“正则表达式”相关的解决方案进行了整理,用户详细问题包括:String msg = "[INFO ] 2017-03-07 11:44:48 " +
"[com.travelsky.fgos.interfaces.aodb.services.impl.ReceiveAodbMsgToFgosInfTimer]"+
"Recevie  new  AODB MSG From AODB Server Cost : 3 ms";

String logEntryPattern  ="//[[/w]+/][/s]+[/d-]{1,8}[/s]+[/d:]{1,8}[/s]+//[[/w]+/].+";


我这个正则哪里出错了  没有匹配到上面的数据
,具体解决方案如下:

解决方案1:
你用的是JAVA吗?上面斜杠的方向都错了吧。

解决方案2:

引用 1 楼 rickylin86 的回复:
你用的是JAVA吗?上面斜杠的方向都错了吧。
 
 用的是java 
\\[[a-zA-Z]{4}\\][\\s]+[\\d-]{1,8}[\\s]+[\\d:]{5,8}[\\s]+\\[[\\w]+\\](.+)

反过来也是这样  我是想到的  日志级别  时间  接口名  和日志信息  这样写 匹配不到吗

解决方案3:

引用 2 楼 fh_su 的回复:
Quote: 引用 1 楼 rickylin86 的回复:

你用的是JAVA吗?上面斜杠的方向都错了吧。
 
 用的是java 
\\[[a-zA-Z]{4}\\][\\s]+[\\d-]{1,8}[\\s]+[\\d:]{5,8}[\\s]+\\[[\\w]+\\](.+)

反过来也是这样  我是想到的  日志级别  时间  接口名  和日志信息  这样写 匹配不到吗



import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class Test{
public static void main(String[] args){
String msg = "[INFO ] 2017-03-07 11:44:48 " +
 "[com.travelsky.fgos.interfaces.aodb.services.impl.ReceiveAodbMsgToFgosInfTimer]"+
                     "Recevie  new  AODB MSG From AODB Server Cost : 3 ms";
String regex = "^\\[(?<level>[^\\]]+)\\].*?(?<time>\\d+:\\d+:\\d+)\\s*\\[(?<interface>[^\\]]+)\\](?<msg>.*)$";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(msg);
if(matcher.find()){
System.out.println("level:" + matcher.group("level"));
System.out.println("time:" + matcher.group("time"));
System.out.println("interface:" + matcher.group("interface"));
System.out.println("message:" + matcher.group("msg"));
}
}
}

解决方案4:
\\[[a-zA-Z]{4}\\][\\s]+[\\d-]{1,8}[\\s]+[\\d:]{5,8}[\\s]+\\[[\\w]+\\](.+)
首先[INFO ]注意这里INFO后面是有一个空格的.所以的你正则从一开始就错了.

解决方案5:

引用 4 楼 rickylin86 的回复:
\\[[a-zA-Z]{4}\\][\\s]+[\\d-]{1,8}[\\s]+[\\d:]{5,8}[\\s]+\\[[\\w]+\\](.+)
首先[INFO ]注意这里INFO后面是有一个空格的.所以的你正则从一开始就错了.


谢谢  

www.xue163.com true http://www.xue163.com/588880/39215/392157599.html report 3386 正则表达式:解决方案1:你用的是JAVA吗?上面斜杠的方向都错了吧。解决方案2:引用 1 楼 rickylin86 的回复:你用的是JAVA吗?上面斜杠的方向都错了吧。  用的是java \\[[a-zA-Z]{4}\\][\\s]+[\\d-]{1,8}[\\s]+[\\d:]{5,8}[\\s]+\\[[\\w]+\\](.+)反过来也是这样  我是想到的  日志级别  时间 ...
最近关注
首页推荐
热门图片
最新添加资讯
24小时热门资讯
精彩资讯
精彩推荐
热点推荐
真视界
精彩图片
社区精粹
关于本站 | 广告服务 | 手机版 | 商务合作 | 免责申明 | 招聘信息 | 联系我们
Copyright © 2004-2016 Xue163.com All Rights Reserved. 学网 版权所有
京ICP备10044368号-1 京公网安备11010802011102号