Regex类
- scala中提供了Regex类来定义正则表达式
- 要构造一个Regex对象可以使用new Regex的方式,或者直接使用String类的r方法即可
- val regex1 = new Regex(""“正则表达式”"")
- val regex2 = “”“正则表达式”"".r //建议使用三个双引号来表示正则表达式,不然就得对正则中的反斜杠来进行转义
- findAllMatchIn方法
- 使用findAllMatchIn方法可以获取到所有正则匹配到的字符串
- 正则本身是很庞杂的内容,有很多的规则,这里了解即可
- 学的是API,而不是如何编写正则表达式
package cn.hanjiaxiaozhi.regex
import scala.util.matching.Regex
object RegexDemo {
def main(args: Array[String]): Unit = {
val regex: Regex = """^\w+@[a-z0-9]+\.[a-z]+$""".r
val emails = List("1234aa@qq.com", "1234bb@gmail.com", "abcd@163.com", "1234aa.com")
val matches: Iterator[Regex.Match] = regex.findAllMatchIn("1234aa.com")
println(matches)
println(matches.size)
val invalidEmails: List[String] = emails.filter(email => {
if (regex.findAllMatchIn(email).size < 1) {
true
} else {
false
}
})
println(invalidEmails)
}
}