使用regex进行grails验证
您好,我正在尝试使用命令对象约束中的正则表达式验证mm/dd/yyyy模式的日期 正则表达式:使用regex进行grails验证,regex,validation,grails,Regex,Validation,Grails,您好,我正在尝试使用命令对象约束中的正则表达式验证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
^(((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])
它不接受\您需要转义“\”和“$”符号:
"^(((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)))\$"