用于检查字符串是否以[0-8]结尾的正则表达式返回false

时间:2014-03-07 15:24:37

标签: java regex

我需要一个正则表达式来检查字符串是否以0到8之间的数字结尾。为什么这个正则表达式返回false

String time = "" + new Date().getTime();// 1394205719160
if(time.endsWith("[0-8]"))//false

2 个答案:

答案 0 :(得分:4)

你可以试试这个:

if (time.matches(".*[0-8]$"))

或者可能更有效率:

char lastChar = time.charAt(time.length() - 1);
if (lastChar >= '0' && lastChar <= '8') { ... }

答案 1 :(得分:1)

方法String.endsWith不接受正则表达式,
它将您的输入字面上视为字符串[0-8]
不是正则表达式[0-8]