模式(字符串)只允许字符出现一次
Pattern (string) allows characters only one time
我想检查我的字符串是否只包含允许的字符。一切正常,例如 7B
、77B
或 7BBBB
,但是当我输入类似 7B7
或 7BB2
的内容时,它不匹配。
一切正常,但当整数是最后一个字符时,它不起作用。
你能告诉我这段代码有什么问题吗?
pattern = Pattern.compile("[0-9]*[a-f]*[A-F]*");
matcher = pattern.matcher(stNumber);
if (matcher.matches()) {...}
如果你想以不同的顺序混合数字和字符,你需要这样的东西:
Pattern pattern = Pattern.compile("[\da-fA-F]*")
为什么不这样试试呢?
// 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);
}
您是否要验证字符串是否只有数字和字母,没有其他内容?
如果是这样,请尝试使用以下方法:
pattern = Pattern.compile("^[a-z-A-Z\d]*$");
matcher = pattern.matcher(stNumber);
if (matcher.matches()) {...}
我想检查我的字符串是否只包含允许的字符。一切正常,例如 7B
、77B
或 7BBBB
,但是当我输入类似 7B7
或 7BB2
的内容时,它不匹配。
一切正常,但当整数是最后一个字符时,它不起作用。
你能告诉我这段代码有什么问题吗?
pattern = Pattern.compile("[0-9]*[a-f]*[A-F]*");
matcher = pattern.matcher(stNumber);
if (matcher.matches()) {...}
如果你想以不同的顺序混合数字和字符,你需要这样的东西:
Pattern pattern = Pattern.compile("[\da-fA-F]*")
为什么不这样试试呢?
// 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);
}
您是否要验证字符串是否只有数字和字母,没有其他内容?
如果是这样,请尝试使用以下方法:
pattern = Pattern.compile("^[a-z-A-Z\d]*$");
matcher = pattern.matcher(stNumber);
if (matcher.matches()) {...}