今天使用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