为什么匹配在这里:
scala> """\bdog\b""".r
res65: scala.util.matching.Regex = \bdog\b
scala> res65.findFirstIn(" The dog plays in the yard")
res66: Option[String] = Some(dog)
但不是在这里:
scala> "The dog plays in the yard".matches("""\bdog\b""")
res67: Boolean = false
答案 0 :(得分:8)
在第二种情况下,整个字符串必须与正则表达式匹配,在第一种情况下,字符串的任何部分都可以匹配。将第二种情况与此进行比较:
"The dog plays in the yard".matches(""".*\bdog\b.*""")
答案 1 :(得分:5)
您将findFirstIn
与matches
进行比较,当然字符串包含,但匹配 \bdog\b