Regex Tweak: удалить скобки - PullRequest
1 голос
/ 16 мая 2011

У меня есть следующий скрипт:

    $(".Text").contents().each(function () {
   $(this).replaceWith($(this).text()
            .replace(/\[([^\]]*)\]/g, '<span class="IT_Symbol" style="display:inline;border: 1px solid blue;">$&</span>')
        );
    });

Он находит что-то в квадратных скобках и заключает его в класс.Стиль элемента таков, что я вижу, как он работает, так как этот сценарий запускается двойным щелчком.В настоящее время он находит все в квадратных скобках, включая сами скобки.Если возможно, я бы хотел снять скобки, но оставлю то, что находится между ними.

1 Ответ

2 голосов
/ 16 мая 2011

Вы заменяете на $&, то есть весь сопоставленный текст.Если вы замените на $1 вместо этого, это соответствует только первой группе, которая ([^\]]*), и, следовательно, исключает окружающие скобки.

$(".Text").contents().each(function () {
    $(this).replaceWith($(this).text().replace(/\[([^\]]*)\]/g, '<span class="IT_Symbol" style="display:inline;border: 1px solid blue;">$1</span>'));
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...