Regex 正则表达式不匹配

Regex 正则表达式不匹配,regex,scala,Regex,Scala,我希望regex“[a-zA-Z]\\d{6}”匹配“z999999”,但它不匹配,因为映射了空列表: val lines = List("z999999"); //> lines : List[String] = List(z999999) val regex = """[a-zA-Z]\d{6}""".r //> regex : scala.util.matching.Regex = [a-zA-Z]

我希望regex
“[a-zA-Z]\\d{6}”
匹配
“z999999”
,但它不匹配,因为映射了空列表:

val lines = List("z999999");                      //> lines  : List[String] = List(z999999)

val regex = """[a-zA-Z]\d{6}""".r                 //> regex  : scala.util.matching.Regex = [a-zA-Z]\d{6}

val fi = lines.map(line => line match { case regex(group) => group case _ => "" })
                                                  //> fi  : List[String] = List("")
我的正则表达式有问题吗?或者我如何在Scala中使用它

val l="z999999"
val regex = """[a-zA-Z]\d{6}""".r

regex.findAllIn(l).toList
res1: List[String] = List(z999999)
正则表达式似乎有效

lines.map( _ match { case regex(group) => group; case _ => "" })
res2: List[String] = List("")
真奇怪。让我们看看在
regex
中定义的整个表达式周围的捕获组会发生什么

val regex2= """([a-zA-Z]\d{6})""".r
regex2: scala.util.matching.Regex = ([a-zA-Z]\d{6})
lines.map( _ match { case regex2(group) => group; case _ => "" })
res3: List[String] = List(z999999)
胡扎

正则表达式上的unapply方法用于获取捕获组的结果

regex对象上还有其他方法只获取匹配项(例如findAllIn、findFirstIn等)

正则表达式似乎有效

lines.map( _ match { case regex(group) => group; case _ => "" })
res2: List[String] = List("")
真奇怪。让我们看看在
regex
中定义的整个表达式周围的捕获组会发生什么

val regex2= """([a-zA-Z]\d{6})""".r
regex2: scala.util.matching.Regex = ([a-zA-Z]\d{6})
lines.map( _ match { case regex2(group) => group; case _ => "" })
res3: List[String] = List(z999999)
胡扎

正则表达式上的unapply方法用于获取捕获组的结果


regex对象上还有其他方法只获取匹配项(例如findAllIn、findFirstIn等)

@Avinash Raj谢谢,但相同result@AvinashRaj我已更新以匹配您的建议,但结果相同您不需要
列表(“z999999”)
@Avinash Raj谢谢,但还是一样result@AvinashRaj我已更新以匹配您的建议,但结果相同您不需要
列表(“z999999”)