EventHandlers и Анонимные Делегаты / Лямбда-выражения

Что вы можете сделать, это сначала удалить все специальные символы в string, прежде чем проверять regex:

  1. Используйте .replace(/[^\w\s]/gi, ''), чтобы удалить все специальные символы из вашего string .
  2. Используйте /do.+drugs/ в качестве регулярного выражения, чтобы проверить, соответствует ли строка вашему желаемому шаблону.

Демо:

let inputs = ["Everyone go do drugs",
  "Everyone go d[o] dru]gs!",
  "Everyone go do[heyyo]dr--ugs"
];

inputs = inputs.map(i => i.replace(/[^\w\s]/gi, ''));

inputs.forEach(i => {
  console.log(i + ":   " + i.match(/do.+drugs/));
});

11
задан Community 18 June 2018 в 03:05
поделиться

3 ответа

Если объект X имеет обработчик событий, цель которого является объектом Y, то возразите X являющийся живым, означает, что объект Y не может быть собран "мусор". Это не мешает объекту X быть собранным "мусор".

Обычно, когда что-то расположено, это станет мусором довольно скоро так или иначе, что означает, что у Вас нет проблемы.

Проблема с событиями и GC состоит в том, если Вы забываете удалять подписанный обработчик из другого объекта - т.е. у Вас есть слушатель, который расположен, но никогда не будет собираться "мусор", потому что существует все еще ссылка на него от события в другом объекте.

10
ответ дан 3 December 2019 в 09:42
поделиться

Вы не можете.

Точно так же, как Вы не можете создать анонимный тип за пределами его объема (за исключением некоторых приемов компилятора).

Вот почему это назвало анонимным.

Необходимо сохранить ссылку где-нибудь... или использовать отражение.

0
ответ дан 3 December 2019 в 09:42
поделиться

Я думаю, что проблема - Вы, кажется, происхождение предположения, что присваивание делегата к событию объекта препятствует тому, чтобы он был GCed.

Это как простой оператор не верно.

После этих слов воспринятая проблема исчезает.

Первоначально в сборке "мусора" все - мусор. GC пробегает каждую вещь, в настоящее время доступную глобально и на каждом стеке и от этих тех других объектов, на которые они ссылаются и так далее, отмечая каждого как не мусор.

Как такому процессу построения графика удалось бы прибыть в этот объект?

1
ответ дан 3 December 2019 в 09:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: