Scala中正则表达式的几种用法
正则表达式是一种针对于字符串的操作,主要功能有匹配、切割、替换和提取的作用,在Scala中正则也是被频繁使用的方法(regex.r表示为正则表达式)
1、匹配
Scala支持多种正则表达式解析,主要包括下面三种:
- String.matches()方法
- 正则表达式模式匹配
- scala.util.matching.Regex API
//String.matches
val s = "!123"
println(s.matches("![a-zA-z0-9]{3}"))//true
println(s.matches("![a-zA-z0-9]{8}"))//false
//正则表达式模式匹配
val b = """([a-z0-9]+)"""".r
"helloworld123" match {
case b => println("匹配成功")
case _ => println("匹配失败")
}
//匹配成功
//scala.util.matching.Regex API
其中有三种匹配:
- findFirstMatchIn()返回第一个匹配(Option[match])
- findAllMatchIn()返回所有匹配(regex.match)
- findAllIn()返回所有匹配结果(String)