Java 编译器如何检测字符串是否为正则表达式?
我仍然是Java的初学者,但据我所知,为了使用正则表达式,我必须在[]中编写它,那么为什么这样做,JVM如何知道它是正则表达式而不仅仅是字符串Java 编译器如何检测字符串是否为正则表达式?,java,regex,Java,Regex,我仍然是Java的初学者,但据我所知,为了使用正则表达式,我必须在[]中编写它,那么为什么这样做,JVM如何知道它是正则表达式而不仅仅是字符串 s = s.replaceAll("\\s+$" , ""); 因为JVM已被指示将replaceAll方法的第一个参数解析为正则表达式模式。所以[]不仅仅在该方法中是必需的?如果您想将其作为正则表达式的一部分使用,它们是必需的。从术语的角度来看,使用正则表达式模式更合适,不是正则表达式。@WiktorStribiżew的确如此。它不知道这是一个正则表
s = s.replaceAll("\\s+$" , "");
因为JVM已被指示将replaceAll方法的第一个参数解析为正则表达式模式。所以[]不仅仅在该方法中是必需的?如果您想将其作为正则表达式的一部分使用,它们是必需的。从术语的角度来看,使用正则表达式模式更合适,不是正则表达式。@WiktorStribiżew的确如此。它不知道这是一个正则表达式。它只是一个字符串。请参阅帮助:将此字符串中与给定正则表达式匹配的每个子字符串替换为给定的替换项。它是解析为正则表达式的方法第一个参数。