Страницы

Поиск по вопросам

понедельник, 15 июля 2019 г.

Какое регулярное выражение соответствует графическому смайлу?

Пишу регулярное выражение, которое соответствует данной строке:
🆔 @id12345 (Сергей Иванов)
Не могу придумать, как можно обозначить любой графический смайл? То есть вместо 🆔 может стоять любой другой: ✔, ▶ и другие. Регулярное выражение будет использоваться в скрипте на php.


Ответ

Попробуйте использовать категорию So
Из Свойства знаков Unicode:
Общая категория (General category) ... Символы (Symbols) Sm (symbol, math) — эта категория для знаков, которые используются только в математике. Например, в выражении «sin (π) = 0» только знак равенства можно отнести к категории Sm. Sc (symbol, currency) — знаки валюты: цента (¢), доллара ($), лиры (₤), евро (€), иены (¥) и т.д. Sk (symbol, modifier) — символы модификации звука и тона. Сюда можно отнести знаки седили, макрона, диереза и т.п. So (symbol, other) — всеохватывающая категория символов, которые не являются математическими символами, валютными обозначениями и т.д.
Регулярка для примера
/\p{So}/u
Пример https://regex101.com/r/CJJbHw/1

Комментариев нет:

Отправить комментарий