如何检查字符串是否与特定格式匹配?

may*_*ysi 8 java string

我想检查一个字符串是否只是mytches以下格式:

"00-00"
Run Code Online (Sandbox Code Playgroud)

字符串中应该没有空格,破折号前面只有2个数字,破折号后面只有2个数字.

最好的方法是什么?

ars*_*jii 27

你可以使用matches():

str.matches("\\d{2}-\\d{2}")
Run Code Online (Sandbox Code Playgroud)

如果您要进行大量的验证,请考虑预编译正则表达式:

Pattern p = Pattern.compile("\\d{2}-\\d{2}");  // use a better name, though
Run Code Online (Sandbox Code Playgroud)

然后你可以使用p.matcher(str).matches().有关Pattern详细信息,请参阅课程.