Итак, у вас есть строка %PT1234!!test@@
, и вам нужно удалить любой текст, который не соответствует подстрокам %PT
, !!
и @@
.
Вы можете захватить эти строки (или шаблоны), которые вы хотите сохранить и просто сопоставить все остальное. Затем замените на обратную ссылку на Группу 1, чтобы восстановить это значение в результате.
Или вы можете просто сопоставить то, что вам нужно, и затем объединить найденные значения.
См. JS демо:
console.log(
"%PT1234!!test@@".replace(/(%PT|!!|@@)|[\s\S]/g, '$1')
) // => %PT!!@@
console.log(
"%PT1234!!test@@".match(/%PT|!!|@@/g).join("")
) // => %PT!!@@
См. Демонстрационную версию regex онлайн .
Подробности
(%PT|!!|@@)
- группа захвата 1: любое из перечисленных значений: %PT
, !!
или @@
|
- или [\s\S]
- любой символ.