I have a problem with a regex in java.
When I try to use this regex:
^(?:(?:([01]?\d|2[0-3]):)?([0-5]?\d):)?([0-5]?\d)$
I get the following error
"Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \ )"
I don't know how to handle that error.
I already tried to double the backslashes, but it didn't work.
I hope someone can help me with this.
Thanks
解决方案
This should work ^(?:(?:([01]?\\d|2[0-3]):)?([0-5]?\\d):)?([0-5]?\\d)$
The reason is that the listed symbols in the error message have special meaning, but \d is not one of those defined special symbols for using \, this means you have to escape it (by adding an extra \ in front of the symbol).