代码正则表达式出错

时间:2018-06-06 06:12:13

标签: scala

我试图找到单词中包含3个字母(e在下面的例子中)的单词 需要找到使用正则表达式。

val inputString = """edepak,suman,employdee,eeeee,eme,ev"""

我写了下面的代码。

val numberPatteren = "([a-z]*e){3,}".r

但我得到的输出低于预期。

employdee,eeeee

但输出应该只是 - employdee

你可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

您只需执行以下操作即可实现此目的

scala> inputString.split(",").filter(word => word.count(_ == 'e') == 3).mkString(",")
//res16: String = employdee

如果您想使用正则表达式,可以执行以下操作

scala> val numberPatteren = "[a-df-zA-DF-Z0-9]".r
//numberPatteren: scala.util.matching.Regex = [a-df-zA-DF-Z0-9]

scala> inputString.split(",").filter(numberPatteren.replaceAllIn(_, "").length == 3).mkString(",")
//res0: String = employdee