您试图从日志文件的字符串时间戳中提取时间、分钟、秒和纳秒。 这里是我测试的输入字符串:
SOME_TEXT,093360:01.040910105,SOME_TEXT,some_textperl/python使用以下正则表达式对感兴趣的字段进行分组
(dd ) ) :(dd ) :(dd ) ).)如果您好奇,可以验证正则表达式是否在http://regexpal.com中使用测试字符串。
所以我试图编写一个简单的Java程序来提取字段:
导入Java.util.regex.*;
公共类驱动程序
{
staticpublicvoidmain (字符串[ ] args ) )。
{
stringt=newstring(SOME_TEXT,093360336001.040910105,SOME_TEXT,SOME_TEXT,SOME_TEXT );
pattern regex=pattern.com pile ((dd ) : )dd ) :652\d\d )d )。
matchermatches=regex.matcher(t;
for(intI=1; I
{
系统. out.println (matches.group (I ) );
}
}
}但是,我的正则表达式翻译得不正确。 以下异常表明未找到匹配项。
exceptioninthread ' main ' Java.lang.illegalstateexception 3360 nomatch found
at Java.util.regex.matcher.group (matcher.Java 3360485 ) ) ) ) ) )。
如何将at driver.main (driver.Java :12 ) Perl/Python样式的正则表达式正确转换为Java?