Velvet Star Monitor

Standout celebrity highlights with iconic style.

updates

How to escape regular expression special characters using javascript? [duplicate]

Writer Emily Wong

I need to escape the regular expression special characters using java script.How can i achieve this?Any help should be appreciated.


Thanks for your quick reply.But i need to escape all the special characters of regular expression.I have try by this code,But i can't achieve the result.

RegExp.escape=function(str) { if (!arguments.callee.sRE) { var specials = [ '/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\' ]; arguments.callee.sRE = new RegExp( '(\\' + specials.join('|\\') + ')', 'gim' ); } return str.replace(arguments.callee.sRE, '\\$1'); }
function regExpFind() { <%--var regex = new RegExp("\\[munees\\]","gim");--%> var regex= new RegExp(RegExp.escape("[Munees]waran")); <%--var regex=RegExp.escape`enter code here`("[Munees]waran");--%> alert("Reg : "+regex); }

What i am wrong with this code?Please guide me.

1

3 Answers

Use the \ character to escape a character that has special meaning inside a regular expression.

To automate it, you could use this:

function escapeRegExp(text) { return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&');
}

Update: There is now a proposal to standardize this method, possibly in ES2016:

Update: The abovementioned proposal was rejected, so keep implementing this yourself if you need it.

12

Use the backslash to escape a character. For example:

/\\d/

This will match \d instead of a numeric character

4

With \ you escape special characters

Escapes special characters to literal and literal characters to special.

E.g: /\(s\)/ matches '(s)' while /(\s)/ matches any whitespace and captures the match.

Source: