今天再使用String的split方法切分公式,获取前缀的时候,报这个问题
Exception in thread "main" java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0
*
^
at java.util.regex.Pattern.error(Pattern.java:1924)
at java.util.regex.Pattern.sequence(Pattern.java:2090)
at java.util.regex.Pattern.expr(Pattern.java:1964)
at java.util.regex.Pattern.compile(Pattern.java:1665)
at java.util.regex.Pattern.<init>(Pattern.java:1337)
at java.util.regex.Pattern.compile(Pattern.java:1022)
at java.lang.String.split(String.java:2313)
at java.lang.String.split(String.java:2355)
代码如下:
第一感觉就是,*号的问题,毕竟是特殊字符,后来百度了下果然 +、|、\等符号在正则表达示中有相应的不同意义,所以在使用时要进行转义处理。
转义后,就没问题了