有一个字符串:
"1112344866893334".
我想使用正则表达式来匹配不重复的子字符串,例如:
"23", "8", "89", "4".
我怎样才能做到这一点?
最佳答案
您可以迭代字符串的长度,然后使用正则表达式来断言子字符串不重复,例如
String input = "1112344866893334";
for (int i=0; i < input.length()-1; ++i) {
String substring = input.substring(i, i+2);
String regex = "(?!.*" + substring + ".*" + substring + ").*";
if (input.matches(regex)) {
System.out.println("matching substring: " + substring);
}
}
关于java - 正则表达式如何匹配字符串中不重复的子串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55790982/