加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则匹配

发布时间:2020-12-13 22:24:53 所属栏目:百科 来源:网络整理
导读:Programming scala的例子 val BookExtractorRE = """Book: title=([^,]+),s+authors=(.+)""".rval MagazineExtractorRE = """Magazine: title=([^,s+issue=(.+)""".rval catalog = List( "Book: title=Programming Scala,authors=Dean Wampler,Alex Payne"

Programming scala的例子

val BookExtractorRE = """Book: title=([^,]+),s+authors=(.+)""".r
val MagazineExtractorRE = """Magazine: title=([^,s+issue=(.+)""".r
val catalog = List(
      "Book: title=Programming Scala,authors=Dean Wampler,Alex Payne","Magazine: title=The New Yorker,issue=January 2009","Book: title=War and Peace,authors=Leo Tolstoy","Magazine: title=The Atlantic,issue=February 2009","BadData: text=Who put this here??"
)
for (item <- catalog) {
   item match {
      case BookExtractorRE(title,authors) =>
              println("Book "" + title + "",written by " + authors)
      case MagazineExtractorRE(title,issue) =>
              println("Magazine "" + title + "",issue " + issue)
      case entry => println("Unrecognized entry: " + entry)
      }
}

几个注意的知识点

1.“”“的符号让我们可以使用原始的字符,从而不能双斜杠

2.正则表达式里的括号是 "字符抽取"组在match匹配时可以直接绑定变量,如上面就绑定了titile,issue以及authors

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读