I am new to Java. Can somebody help me?
Is there any method available in Java which escapes the special characters in the below regex automatically?
Before escaping ***(.*) and after escaping \\*\\*\\*(.*)
I don’t want to escape (.*) here.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
On the face of it,
Pattern.quoteappears to do the job.However, looking at the detail of your question, it appears that you want / expect to be able to escape some meta-characters and not others.
Pattern.quotewon’t do that if you apply it to a single string. Rather, it will quote each and every character. (For the record, it doesn’t use backslashes. It uses “\E” and “\Q”.\ which neatly avoids the cost of parsing the string to find characters that need escaping.)But the real problem is that you haven’t said how the quoter should decide which meta-characters to escape and which ones to leave intact. For instance, how does it know to escape the first three ‘‘ characters, but not the “.“?
Without a clearer specification, your question is pretty much unanswerable. And even with a specification, there is little chance of finding an easy way to do this.
IMO, a better approach would be to do the escaping before you assemble the pattern from its component parts … assuming that’s what is going on here.