2016-09-19 2 views

ответ

3

".+" жадный, который будет соответствовать двойной кавычки, а затем самый длинный матч перед сопоставлением следующей двойной кавычки.

Вы можете использовать не жадный матч:

System.out.println(
"ISODate(\"333\")ISODate(\"333\")ISODate(\"333\")" 
.replaceAll("ISODate\\(\".+?\"\\)", 
    "ISODate(\"222\")")); 

Или лучше исполнительская отрицается классовый характер:

System.out.println(
"ISODate(\"333\")ISODate(\"333\")ISODate(\"333\")" 
.replaceAll("ISODate\\(\"[^\"]+\"\\)", 
    "ISODate(\"222\")")); 
Смежные вопросы