Подтвердить что ты не робот

Почему мне нужно добавить /g при замене строки в Javascript?

Почему требуется '/g' при замене строки в JavaScript?

например. var myString = myString.replace(/%0D%0A/g,"<br />");

4b9b3361

Ответ 1

Это не требуется, но по умолчанию string.replace в JavaScript будет заменено только первое совпадающее значение, которое оно находит. Добавление /g означает, что все соответствующие значения будут заменены.

Ответ 2

" g", о котором вы говорите в конце вашего регулярного выражения, называется "модификатором". " g" представляет "глобальный модификатор ". Это означает, что ваша замена заменит все копии согласованной строки на заменяемую строку.

Список полезных модификаторов:

  • g - глобальная замена. Замените все экземпляры сопоставленной строки в предоставленном тексте.
  • i - нечувствительность к регистру заменяется. Замените все экземпляры сопоставленной строки, игнорируя различия в случае.
  • m - многострочная замена. Регулярное выражение должно быть проверено на соответствие по нескольким строкам.

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

Примеры:

//Replace the first lowercase t we find with X
'This is sparta!'.replace(/t/,'X');
//result: 'This is sparXa!'

//Replace the first letter t (upper or lower) with X
'This is sparta!'.replace(/t/i, 'X');
//result: 'Xhis is sparta!'

//Replace all the Ts in the text (upper or lower) with X
'This is sparta!'.replace(/t/gi, 'X' );
//result: 'Xhis is sparXa!'

Для получения дополнительной информации см. JavaScript RegExp Object Reference в w3schools.

Ответ 3

Флаг 'g' означает "глобальный", поэтому каждое возникновение% 0D% 0A будет заменено. В противном случае это заменит только FIRST.

Ответ 4

Модификатор регулярных выражений g (называемый глобальным модификатором ) в основном говорит движку, чтобы он не прекратил синтаксический анализ строки после первого совпадения. Если вы хотите опустить модификатор, замените только первый экземпляр %0D%0A (в некоторых случаях это может быть желательно).

Ответ 5

"g" - это флаг, который говорит, что замены должны быть сделаны "глобально". По умолчанию используется только первое совпадение.

Использование флага "g" для этой цели и синтаксис размещения его сразу после/-пределенного регулярного выражения происходит из ed (а также появляется в ex, sed, vi и т.д.).