简体   繁体   中英

Javascript regex escape

I have a regular expression like this which extract the content between 2 characters and in this case its between 2 #'s

 (?<=\#)(.*?)(?=\#)

and um using it as follows

var extract = str.match(/(?<=\#)(.*?)(?=\#)/).pop();

but the regex gives errors since I think I need to escape it. How do I correctly apply escape characters for the above regex?

Regex may be overkill for this task.

var result = str.split("#")[1] || "";
  • If there is no # in the string, result is the empty string.
  • If there is only one # in the string, result is everything after it.
  • If there are two or more # in the string, result is the substring between the first and second # .
#(.*?)#

or

#([^#]+)#

Simply use this and grab the group 1 .See demo.

https://regex101.com/r/uE3cC4/14

var re = /#(.*?)#/gm;
var str = 'bazbarfoo#asad#';
var m;

while ((m = re.exec(str)) !== null) {
if (m.index === re.lastIndex) {
re.lastIndex++;
}
// View your result using the m-variable.
// eg m[0] etc.
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM