RegEx:仅允许值一次

Rob*_*ert 3 java regex

我有一串数字,每个数字在字符串中可以显示为零或一次.我可以通过RegEx验证吗?我可以做一些像检查字符数组的重复项,但更喜欢坚持我的正常验证例程.

以下应返回"匹配"

String thisItemText = "12679";
if(!thisItemText.matches("[1245679]*")) {
    System.out.println("No Match");
} else {
    System.out.println("Match");
}
Run Code Online (Sandbox Code Playgroud)

以下应返回"No Match"(注意双"2")

String thisItemText = "122679";
if(!thisItemText.matches("[1245679]*")) {
    System.out.println("No Match");
} else {
    System.out.println("Match");
}
Run Code Online (Sandbox Code Playgroud)

MRA*_*RAB 7

(\d).*\1如果有重复的数字,正则表达式将匹配.

  • @leonbloy:它会尝试匹配一个数字,任意数量的字符,然后匹配相同的数字.它们不必是连续的. (2认同)