代码之家  ›  专栏  ›  技术社区  ›  BAE

scala regex中的.r与r

  •  1
  • BAE  · 技术社区  · 6 年前

    我正在阅读scala代码,发现了以下内容:

      val TimeRegex = """^([0-1]\d|2[0-3]):([0-5]\d):([0-5]\d)$""".r
    
      val FilePattern = """^.*/date=(\d{4}-\d\d-\d\d)/([^/]+)(?:\.dat)?\.gz$"""r
    

    有什么区别 r .r 在正则表达式的末尾?谢谢

    1 回复  |  直到 6 年前
        1
  •  3
  •   Tzach Zohar    6 年前

    结果是一样的-两者都会 StringLike r 方法。

    后者使用scala的“后缀”表示法,请参见 documentation . 区别只在样式上(编译器会将后者的糖化为前者),但请注意,后缀表示法通常是不可取的。从文档中:

    这种样式不安全,不应使用