本文介绍了无效的转义序列(有效转义序列为\b \t \\\<br/> \f \ r \" \'\)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在java中使用正则表达式时遇到问题。
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)$
我收到以下错误
"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.
谢谢
推荐答案
这应该工作 ^(?:(?:( [01]?\\d | 2 [0-3]):))([0-5]?\\\ \\ d):)?([0-5]?\\d)$
原因是列出的符号在错误消息具有特殊含义,但 \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).
这篇关于无效的转义序列(有效转义序列为\b \t \\\<br/> \f \ r \" \'\)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!