简体   繁体   中英

Problem with newline in JavaScript regexp

i tried to do not show "SPAM" in string below using that regex:

alert("{SPAM\nSPAM} _1_ {SPAM} _2_".replace(/{[\s\S]+}/gm, ""));

What i was supposed to see was "~1~ ~2~"

(or something like that) but i got just ~2~. Why?

} and { are also elements of the character class [\\s\\S] . You should avoid matching this by:

/{[^}]+}/g

so that the regex stops once the } is found.

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