今天使用scala读取用户信息表分析出各个字段,切分的时候出现异常:java
两个字段之间的分隔符为***ABC***正则表达式
代码:spa
val linerecord = line.split("***ABC***")
而后抛出:scala
Exception in thread "main" java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0
***ABC***it
从字面意思上看,就是语法错误了,通过验证,是scala的正则表达式的问题,io
val linerecord = line.split("\\*\\*\\*ABC\\*\\*\\*")
这样写,把正则表达式里*转义为普通字符,就不会抛异常了。其余的正则表达式特殊符合同样,遇到转义一下就能够了。thread
scala里的正则表达式和Java基本一致。meta