Regex scala正则表达式中的.r与r
我正在阅读Scala代码,发现以下内容:Regex scala正则表达式中的.r与r,regex,scala,Regex,Scala,我正在阅读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之间有什么区别?谢谢结果将是相同的-两者都将调用StringLike的r方法 后者使用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
之间有什么区别?谢谢结果将是相同的-两者都将调用StringLike
的r
方法
后者使用Scala的“后缀”表示法,请参阅。区别只是在风格上(编译器会将后者分解为前者),但请注意,通常不鼓励使用后缀符号。从文件中:
此样式不安全,不应使用
事实上,它会发出特性警告,在2.13中,它需要显式启用。就好像postfix是另一个在#Meto之后倒下的强大人物。