您好,我正在尝试使用命令对象约束中的regex来验证mm/dd/yyyy模式的日期。
正则表达式:
^(((0?[1-9]|1[012])/(0?[1-9]|1\d|2[0-8])|(0?[13456789]|1[012])/(29|30)|(0?[13578]|1[02])/31)/(19|[2-9]\d)\d{2}|0?2/29/((19|[2-9]\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00)))$
grails约束
static constraints = {
date(blank:false)
date(matches:"^(((0?[1-9]|1[012])/(0?[1-9]|1\d|2[0-8])|(0?[13456789]|1[012])/(29|30)|(0?[13578]|1[02])/31)/(19|[2-9]\d)\d{2}|0?2/29/((19|[2-9]\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00)))$")
}
我收到以下错误
unexpected char: '\' @ line 61, column 47.
^(((0?[1-9]|1[012])/(0?[1-9]|1\d|2[0-8])
它不接受\
发布于 2012-10-05 15:16:38
您需要转义"\“和"$”符号:
"^(((0?[1-9]|1[012])/(0?[1-9]|1\\d|2[0-8])|(0?[13456789]|1[012])/(29|30)|(0?[13578]|1[02])/31)/(19|[2-9]\\d)\\d{2}|0?2/29/((19|[2-9]\\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00)))\$"
https://stackoverflow.com/questions/12740734
复制相似问题