You can define a pattern like this :
scala> val Email = """(\w+)@([\w\.]+)""".r
findFirstIn will return Some[String] if it matches or else None.
scala> Email.findFirstIn("[email protected]")
res1: Option[String] = Some([email protected])
scala> Email.findFirstIn("test")
rest2: Option[String] = None
You could even extract :
scala> val Email(name, domain) = "[email protected]"
name: String = test
domain: String = example.com
Finally, you can also use conventional String.matches method (and even recycle the previously defined Email Regexp :
scala> "[email protected]".matches(Email.toString)
res6: Boolean = true
Hope this will help.