正则表达式语法见
https://www.cnblogs.com/Hcjer/p/5254362.html
常用函数
方法函数名称 | 用法解析 |
---|---|
r | 使用给定的正则表达式创建一个 Regex 对象 |
findFirstIn | 查找第一个匹配的字符串,并返回一个 Option[String] 类型的值 |
findAllIn | 查找所有匹配的字符串,并返回一个 Iterator[String] 类型的值 |
findFirstMatchIn | 查找第一个匹配的正则表达式,并返回一个 Option[Match] 类型的值 |
findAllMatchIn | 查找所有匹配的正则表达式,并返回一个 Iterator[Match] 类型的值 |
replaceFirstIn | 将第一个匹配的字符串替换为指定的字符串,并返回一个新的字符串 |
replaceAllIn | 将所有匹配的字符串替换为指定的字符串,并返回一个新的字符串 |
Scala 中的正则表达式使用 scala.util.matching.Regex
类来表示。我们可以使用 .r
方法来创建一个正则表达式,例如:
val pattern = "hello, (.*)".r
在上面的例子中,我们创建了一个正则表达式,它可以匹配以 hello,
开头,后面跟任意字符的字符串。这个正则表达式被保存在 pattern
变量中。
我们可以使用 findFirstIn
方法来查找第一个匹配的字符串,例如:
val str = "hello, world"
val result = pattern.findFirstIn(str)
println(result) // 输出 Some(hello, world)
在上面的例子中,我们使用 findFirstIn
方法来查找第一个匹配的字符串,它返回一个 Option[String]
类型的值。如果找到了匹配的字符串,它会返回一个 Some
对象,否则返回 None
。
我们还可以使用 findAllIn
方法来查找所有匹配的字符串,例如:
val str = "hello, world, hello, scala"
val result = pattern.findAllIn(str)
result.foreach(println) // 输出 hello, world 和 hello, scala