我想制作一个正则表达式,以便可以匹配以下日期并将其元素传递给另一个函数:
"21Feb14"
现在问题是前两位数。用户可以写一个日期,其中'day'字段是一位数长或两位数长:
"21feb14" and "1jan13"
两者都是有效的输入。 我制作的正则表达式如下:
val reg = """(\\d)([a-zA-Z][a-zA-Z][a-zA-Z])(\d\d)""".r
显然没有考虑到第一个数字可能存在也可能不存在。我该如何处理?
答案 0 :(得分:4)
?
标记处理。像这样,
(\d?\d)([a-zA-Z][a-zA-Z][a-zA-Z])(\d\d)
但我建议您使用以下正则表达式
(\d?\d)([a-zA-Z]{3})(\d\d)
或使用posix
(\d?\d)([\p{Alpha}]{3})(\d\d)
答案 1 :(得分:2)