模式(字符串)只允许字符一次

时间:2015-01-15 18:13:00

标签: java android string pattern-matching

我想检查我的字符串是否只包含允许的字符。一切正常,例如7B77B7BBBB,但当我输入类似7B77BB2的内容时,它不匹配。

一切正常,但当整数是最后一个字符时,它不起作用。

你能告诉我这段代码有什么问题吗?

pattern = Pattern.compile("[0-9]*[a-f]*[A-F]*");
matcher = pattern.matcher(stNumber);
if (matcher.matches()) {...}

3 个答案:

答案 0 :(得分:2)

如果你想以各种顺序混合数字和字符,你需要像:

Pattern pattern = Pattern.compile("[\\da-fA-F]*")

答案 1 :(得分:0)

为什么不这样试试?

// Compile this pattern.
Pattern pattern = Pattern.compile("[0-9]*[a-f]*[A-F]*[0-9]*");

// See if this String matches.
Matcher m = pattern.matcher("num123");
if (m.matches()) {
    System.out.println(true);
}

Source

答案 2 :(得分:0)

您是否尝试验证字符串只有数字和字母而没有其他内容?

若然,请尝试使用以下内容:

pattern = Pattern.compile("^[a-z-A-Z\\d]*$");
matcher = pattern.matcher(stNumber);
if (matcher.matches()) {...}