JavaScript Regex: Как к полужирным определенным словам с regex?

Вы используете неуправляемый код? Если Вы не используете неуправляемый код, по данным Microsoft, утечки памяти в традиционном смысле не возможны.

Память, используемая приложением, не может быть освобождена однако, таким образом, выделение памяти приложения может вырасти в течение срока действия приложения.

От , Как определить утечки памяти в общеязыковой среде выполнения по Microsoft.com

, утечка памяти А может произойти в приложении Платформы.NET, когда Вы используете неуправляемый код в качестве части приложения. Этот неуправляемый код может пропустить память, и время выполнения Платформы.NET не может решить ту проблему.

Кроме того, проект, может только казаться, имеет утечку памяти. Это условие может произойти, если много больших объектов (таких как Объекты dataTable) объявляются и затем добавляются к набору (такому как DataSet). Ресурсы, что эти собственные объекты никогда не могут выпускаться, и ресурсы, остаются в живых для целого выполнения программы. Это, кажется, утечка, но на самом деле это - просто признак способа, которым память выделяется в программе.

Для контакта с этим типом проблемы, можно реализовать IDisposable. Если бы Вы хотите видеть некоторые стратегии контакта с управлением памятью, я предложил бы искать IDisposable, XNA, управление памятью , поскольку разработчики игр должны иметь более предсказуемую сборку "мусора" и так должны вынудить GC сделать свою вещь.

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

8
задан rawrrrrrrrr 4 August 2009 в 23:40
поделиться

3 ответа

Вот регулярное выражение для того, что вы ищете:

(^|\s)(cows)(\s|$)

В JS замена выглядит так:

myString.replace(/(^|\s)(cows)(\s|$)/ig, '$1<b>$2</b>$3');

Аккуратно заключена в функцию многократного использования:

function updateHaystack(input, needle) {
    return input.replace(new RegExp('(^|\\s)(' + needle + ')(\\s|$)','ig'), '$1<b>$2</b>$3');
}

var markup = document.getElementById('somediv').innerHTML;
var output = updateHaystack(markup, 'cows');
document.getElementById('somediv').innerHTML = output;
12
ответ дан 5 December 2019 в 07:59
поделиться
findstring: /(^|\s)(cows)(\s|$)/ig
newstring: '$1<b>$2</b>$3'

Маркеры \ b предназначены для "границ слова"; флаги / ig предназначены для игнорирования регистра и глобального сопоставления, соответственно.

Использование захватов () и затем $ 1 / $ 2 / $ 3 в тексте новой строки так, чтобы заглавные буквы и интервалы совпадали сохранено.

1
ответ дан 5 December 2019 в 07:59
поделиться
var needle = 'cows';

var regexp = new RegExp('(^|\s)('+needle+')(\s|$)', 'ig');

var old_string = 'cows at www.cows.com, milk some COWs';

var new_string = old_string.replace(regexp, '<b>$1$2$3</b>');
-1
ответ дан 5 December 2019 в 07:59
поделиться
Другие вопросы по тегам:

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