regex - 如何在 Scala 中使用正则表达式进行模式匹配?

标签 regex scala

我希望能够找到单词的第一个字母与组中的一个字母(例如“ABC”)之间的匹配项。在伪代码中,这可能看起来像:

case Process(word) =>
   word.firstLetter match {
      case([a-c][A-C]) =>
      case _ =>
   }
}

但是如何在 Scala 而不是 Java 中获取第一个字母呢?如何正确表达正则表达式?是否可以在 case class 内完成此操作?

最佳答案

您可以这样做,因为正则表达式定义了提取器,但您需要首先定义正则表达式模式。我无法访问 Scala REPL 来测试它,但类似的东西应该可以工作。

val Pattern = "([a-cA-C])".r
word.firstLetter match {
   case Pattern(c) => c bound to capture group here
   case _ =>
}

关于regex - 如何在 Scala 中使用正则表达式进行模式匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4636610/

相关文章:

python - Spark write parquet 不写任何文件,只有_SUCCESS

javascript - Regex Javascript - 删除两个 html 注释之间的文本

Javascript date delta 与字符串之间的转换

JavaScript 正则表达式全局选项不起作用(正如我所期望的那样)

javascript - 如何选择字符串中的最后一个数字?

multithreading - 在可能出现异常(exception)情况的将来应用 future

regex - 如何使用正则表达式过滤 Scala 中的字母数字字符串

Scala:根据键对数组中的值求和

scala - Spark DataFrame 分区器为 None

scala - 在 Scala 中使用 Double 进行 for 循环