目标是abc123abc才是正确,为什么abc123cba也是正确的
System.out.println("abc123cba".matches("(.+).+\\1")); //为什么这个也是true
(.+).+\1 可以匹配一个字符串中包含两个相同的子字符串,而这两个子字符串之间还有其他字符。
因为开头的a和结尾的a是相同的,中间夹杂着bc123cb,所以当然可以匹配
不知道你这个问题是否已经解决, 如果还没有解决的话:public static void main(String[] args) {
final String str=”abc”;
ExecutorService executorService= Executors.newFixedThreadPool(3);
executorService.execute(new Runnable() {
@Override
public void run() {
System.out.println(“1”+str);
}
});executorService.execute(new Runnable() {
@Override
public void run() {
System.out.println(“2”+str);
}
});executorService.execute(new Runnable() {
@Override
public void run() {
System.out.println(“2”+str);
}
});
}