繁体   English   中英

正则表达式在IntelliJ想法中编译,但不在Android Studio中显示

[英]regex compiling in intellij idea but not in android studio and showing

我在java ide中运行此代码块,即intellij的想法,它工作正常,还尝试了一些在线正则表达式匹配器,它也可以工作,但是当我在android studio中运行此代码块时,显示的是代码错误块

public static String gettime(String temp){

    String result  = new String();

    String time=new String();
    time = ".*([0-1][0-9][:][0-5][0-9][:][0-5][0-9]).*";

    Pattern pattern = Pattern.compile(time);//error during compilation
    Matcher matcher = pattern.matcher(temp);

    if(matcher.matches()){
        result = matcher.group(1);
    }
    return result;
}

错误是

java.util.regex.PatternSyntaxException: U_ILLEGAL_ARGUMENT_ERROR
.*([0-1][0-9][:][0-5][0-9][:][0-5][0-9]).*

如果从[:]切换为,则可以使用:

time = ".*([0-1][0-9]:[0-5][0-9]:[0-5][0-9]).*";

转义也可以:

time = ".*([0-1][0-9][\\:][0-5][0-9][\\:][0-5][0-9]).*";

不知道为什么Android不喜欢[:]但是应该与:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM