正则表达式不匹配

蓝天

我期望正则表达式"[a-zA-Z]\\d{6}"匹配,"z999999"但是由于映射了一个空List,所以它不匹配:

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)

哈萨

正则表达式上不适用的方法是获取捕获组的结果。

正则表达式对象上还有其他一些方法可以获取匹配项(例如findAllIn,findFirstIn等)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式或不匹配

来自分类Dev

正则表达式不匹配

来自分类Dev

正则表达式不匹配

来自分类Dev

正则表达式不匹配

来自分类Dev

正则表达式不匹配

来自分类Dev

正则表达式不匹配

来自分类Dev

表达式不匹配正则表达式

来自分类Dev

匹配单词的正则表达式,或者不匹配

来自分类Dev

Python正则表达式搜索,匹配不匹配

来自分类Dev

完全匹配的正则表达式不部分匹配

来自分类Dev

正则表达式匹配不匹配的内容

来自分类Dev

正则表达式匹配任何字符或不匹配?

来自分类Dev

正则表达式匹配数字或不匹配

来自分类Dev

完全匹配的正则表达式不部分匹配

来自分类Dev

C ++正则表达式匹配,不匹配

来自分类Dev

正则表达式匹配(如果不...返回不...)

来自分类Dev

正则表达式与PHP中的正则表达式不匹配

来自分类Dev

正则表达式的正则表达式在Python中不匹配

来自分类Dev

正则表达式与PHP中的正则表达式不匹配

来自分类Dev

POSIX正则表达式不匹配

来自分类Dev

如何使正则表达式不匹配?

来自分类Dev

正则表达式不匹配新行

来自分类Dev

matchstr与vimscript中的正则表达式不匹配

来自分类Dev

正则表达式与换行符不匹配

来自分类Dev

组1不匹配每个正则表达式

来自分类Dev

正则表达式不匹配C ++

来自分类Dev

正则表达式在C#中不匹配

来自分类常见问题

Javascript正则表达式与重复模式不匹配

来自分类Dev

域名正则表达式不匹配