I have below text
    ABCDEF
     JHJHJNJN<098978686
     <jjg>
    HGHJFGV XXXX    
       10-10-2018
    JHKGHKGHG
        JKHJHHJM
10-10-2019 JGHHGHGVH
HBVJHBHBB
I want to replace date followed by XXX+number of spaces Here is my code
public class Regexreplace {
    public static void main(String[] args){
        String inp = "    ABCDEF"
                     +" JHJHJNJN<098978686"
                     +"     <jjg>         "
                     +" HGHJFGV XXXX     "
                     +"     10-10-2018  "
                     +" JHKGHKGHG  "
                     +"     JKHJHHJM"
                     +"     10-10-2019 JGHHGHGVH"
                     +" HBVJHBHB    ";
        String ipRegex = "(XXXX.*)[\\s]+([\\d]{1,2}-[\\d]{1,2}-[\\d]{4})";
        System.out.println(inp.replaceAll(ipRegex, "$110-11-2018"));
    }
}
Output:
ABCDEF  JHJHJNJN<098978686      <jjg>           HGHJFGV XXXX            10-10-2018      JHKGHKGHG       JKHJHHJM    10-11-2018 JGHHGHGVH    HBVJHBHB
Why its replacing the second date in text ?
 
     
     
    