如何使用正则表达式提取子字符串(组),而不知道正则表达式是否匹配?

前端之家收集整理的这篇文章主要介绍了如何使用正则表达式提取子字符串(组),而不知道正则表达式是否匹配?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想用这个
  1. val r = """^myprefix:(.*)""".r
  2. val r(suffix) = line
  3. println(suffix)

但是当字符串不匹配时它会给出错误。如何使用匹配是可选的类似结构?

编辑:为了说清楚,我需要组(。*)

您可以通过模式匹配提取匹配组。
  1. val r = """^myprefix:(.*)""".r
  2. line match {
  3. case r(group) => group
  4. case _ => ""
  5. }

另一种方法使用选项:

  1. Option(line) collect { case r(group) => group }

猜你在找的正则表达式相关文章