如何使用Scala从文本文件中提取电子邮件地址

时间:2012-11-23 12:44:56

标签: regex scala

我想知道哪种方法是处理包含电子邮件地址的文本文件并使用Scala提取它们的最简单,最优雅的方法。

1 个答案:

答案 0 :(得分:3)

以下是我自己的尝试:

scala> import scala.io.Source.fromFile

scala> val r = """(?i)\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b""".r

scala> fromFile("./mails").getLines.flatMap { r.findAllIn _ }.toList
res29: List[String] = List(address@domain.com, anotheraddress@domain.com, address2@domain.com)

Source for the RegEx.