正则expression式模式Kotlin

kotlinlang中的任务:使用月份variables重写这个模式,使其与1992年6月13日的格式(两位数字,一个空格,一个月份缩写,一个空格,四位数字)匹配。

答案是: val month = "(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)" fun getPattern(): String = """\d{2} ${month} \d{4}"""我不明白${month} 。 怎么运行的?

${month}等于(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)

所以String """\d{2} ${month} \d{4}"""实际上被扩展为

"""\d{2} (JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC) \d{4}"""

这是一个正则expression式,它捕获一对数字,然后是一个空格,然后是JAN, FEB... DEC其中一个值,接着是另一个空格和另外四个数字。 所以像04 APR 1234字符串匹配正则expression式。