美文网首页
scala正则表达式支持

scala正则表达式支持

作者: SunnyMore | 来源:发表于2018-07-19 16:23 被阅读18次

    正则表达式是一种语法,用一个表达式,来匹配一系列的字符串

    [a-z]+一个或多个a~z范围的26个小写英文字母,比如hello,world

    正则表达式这个东西,语法比较多
    这里呢,讲解一下scala中,对这个正则表达式的支持


    定义一个正则表达式,使用String类的r方法
    此时返回的类型是scala.util.matching.Regex类的对象
    val pattern1 = "[a-z]+".r
    拿到一个正则表达式以后,我们一般会用它来做什么事情?
    比如,我们会用正则表达式来匹配一些字符串,比如来看看,某个字符串是否符合表达式规定的范围之内
    比如,从一个长的字符串中,提取出来,匹配正则表达式的各个部分
    val str = "hello 123 world 456"
    获取一个字符串中,匹配正则表达式的部分,使用findAllIn,会获取到一个Iterator,迭代器
    然后就可以去遍历各个匹配正则的部分,去进行处理
    for (matchString <- pattern1.findAllIn(str)) println(matchString)
    同理,使用findFirstIn,可以获取第一个匹配正则表达式的部分
    pattern1.findFirstIn(str)
    使用replaceAllIn,可以将匹配正则的部分,替换掉
    pattern1.replaceFirstIn("hello world", "replacement")

    使用replaceFirstIn,可以将第一个匹配正则的部分,替换掉
    pattern1.replaceAllIn("hello world", "replacement")

    相关文章

      网友评论

          本文标题:scala正则表达式支持

          本文链接:https://www.haomeiwen.com/subject/uzvtmftx.html