Following is the program which is not giving expecting result with replaceAll method.

```
public class HelloWorld{
     public static void main(String []args){
         String source = "Stack Overflow is a question and answer (site) for professional.";
         String txt1 = "question and answer (site) for";
        String text2 = "changed question and answer (site) for";
        source = source.replaceAll(txt1, text2);
        System.out.println(source);
     }
}

```

If I remove parenthesis (i.e brackets) in source, text1 and text2 for a word "site" it is giving proper result. Can some one help me what would be the problem in it?