正则表达式模式Kotlin

Yur*_*piv 4 kotlin

kotlinlang中的任务:使用month变量以这样的方式重写此模式,使其匹配格式为13 JUN 1992的日期(两位数,一个空格,一个月缩写,一个空格,四位数).

答案是: val month = "(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)" fun getPattern(): String = """\d{2} ${month} \d{4}""" 我无法理解${month}.这个怎么运作?

Mal*_*alt 8

${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}"""

这是一个正则表达式,它捕获一对数字,后跟一个空格,然后是其中一个值JAN, FEB... DEC,然后是另一个空格和另外四个数字.所以Strings就像04 APR 1234匹配正则表达式一样.