Проблема с переводом строки в регулярное выражение JavaScript - PullRequest
0 голосов
/ 07 октября 2010

Я пытался не показывать "СПАМ" в строке ниже, используя это регулярное выражение:

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

То, что я должен был увидеть, было "~ 1 ~ ~ 2 ~"

(или что-то в этом роде) но я получил только ~ 2 ~.Почему?

1 Ответ

6 голосов
/ 07 октября 2010

} и { также являются элементами класса символов [\s\S]. Вам следует избегать сопоставления этого с помощью:

/{[^}]+}/g

так что регулярное выражение останавливается, когда найден }.

...