Это так.
str.replace(/(amet).+$/, '$1FOO')
Если "amet"
на самом деле содержит странные символы, вы должны 'regex' указать их: .
, -
, [
и т. Д.
РЕДАКТИРОВАТЬ
Объяснить регулярное выражение сложно.
(amet)
=> Захват буквального "амет".Захватите, потому что вы хотите сохранить эту часть для замены, потому что вы хотите заменить все после"amet". .+
=> Любой тип символов (.
), но не менее одного (+
).Если вы хотите по крайней мере 0, вы можете использовать *
вместо +
. $
=> конец темы (str
).В этом случае это не нужно, потому что регулярное выражение является жадным и не остановится, пока вы не скажете это (и поскольку .+
никогда не прекратит сопоставление, конец - это конец) $1
=> Этоявляется заполнителем для «первого матча».В данном случае это всегда "amet"
, потому что мы соответствовали буквальному "amet"
.Если регулярное выражение является переменной, это $1
будет неизвестно (для чего оно существует). FOO
=> Другой литерал (замена).Ваш вопрос включает в себя «... изменить все после ...», что, на мой взгляд, означает «заменить на "FOO"
».
Достаточно ясно?Если нет, я был бы рад попытаться объяснить лучше.Всегда отличный ресурс (для молодых и старых, мудрых и не очень мудрых, профессионалов и начинающих): http://www.regular -expressions.info /
В заключение: регулярное выражениеУДИВИТЕЛЬНЫЙ .