regex101 имеет опцию Unicode, это флаг, который вы можете включить с правой стороны поля регулярных выражений.
Я думаю, что проще всего найти все смайлики в строке, кроме тех, которые вы хотите сохранить, и заменить их пустой строкой, как вы и хотели. Чтобы сделать это, вы можете использовать регулярное выражение, которое найдет любые эмодзи (для этого примера я буду использовать [\U00010000-\U0010ffff]
, но я уверен, что есть лучшие, так что используйте один из них) и добавьте отрицательный взгляд вперед, чтобы игнорировать смайлики, которые ты хочешь оставить.
Финальное регулярное выражение должно выглядеть примерно так: this :
(?![\u2764])[\U00010000-\U0010ffff]
Первая часть (?![\u2764])
убедится, что матч не является смайликом, который вы хотите сохранить, а вторая часть [\U00010000-\U0010ffff]
убедится, что это смайлик
Вы можете добавить все остальные смайлики, которые хотите оставить в квадратных скобках (?![\u2764
здесь ])