⚙️ Поиск эмодзи с помощью регулярных выражений и ripgrep/grep

by itisgood

Это особенно удобно, если в разрабатываемом вами проекте используются несколько эмодзи, и вы хотите найти их в кодовой базе.

Мне нравится использовать эмодзи в всплывающих сообщениях и иногда в навигационных панелях, когда я не хочу подключать стороннюю библиотеку иконок.

Ripgrep

Если вы используете ripgrep, жизнь становится проще: вы можете воспользоваться командой rg "[\p{Emoji}--\p{Ascii}]".

Можно сделать ещё проще, создав псевдоним. Я настроил псевдоним ge (grep emoji) для этого в моих конфигурационных файлах.

Например, я запустил указанную команду внутри своего приложения docker-flask-example, и оно вернуло:

Поиск эмодзи с использованием ripgrep или grep с регулярным выражением

Если вы ищете возможность быстро находить эмодзи в своем коде или тексте, инструменты вроде ripgrep или стандартный grep, дополненный правильным регулярным выражением, станут отличным решением.

Почему это полезно?

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

Это бывает актуально, например, при рефакторинге UI-компонентов или поиске неиспользуемых элементов дизайна.

Как работает этот метод?

Для ripgrep (rg)

Для быстрого поиска всех символов эмодзи в вашем коде можно использовать следующую команду:

rg '[\p{Emoji}]'

Эта команда ищет любые символы Unicode, классифицированные как эмодзи.

Если вы хотите исключить ASCII-символы, добавьте дополнительную проверку:

rg '[\p{Emoji}-[:ascii:]]'

Настройка псевдонима (alias)

Чтобы упростить использование команды, создайте псевдоним, например:

alias grepemoji='rg [\p{Emoji}]'

Теперь достаточно ввести grepemoji, и будут найдены все эмодзи в вашей рабочей директории.

Примеры практического использования

Допустим, у вас есть проект Flask + Docker, и вы хотите убедиться, что нигде случайно не использовали эмодзи. Просто выполните команду внутри корня проекта:

rg '[\p{Emoji}]' .

И получите список файлов с эмодзи.

Таким образом, с этими инструментами вы сможете эффективно управлять наличием эмодзи в своём коде, обеспечивая чистоту и согласованность вашего проекта.

Поиск эмодзи с помощью grep

Хотя ripgrep предлагает удобное решение для поиска эмодзи, если вы предпочитаете классический инструмент grep, тоже можно создать аналогичное решение, используя регулярные выражения.

Регулярное выражение для поиска эмодзи

Вот пример регулярного выражения, которое охватывает большинство используемых эмодзи:

grep --perl-regexp "[\x{1f300}-\x{1f5ff}\x{1f900}-\x{1f9ff}\x{1f600}-\x{1f64f}\x{1f680}-\x{1f6ff}\x{2600}-\x{26ff}\x{2700}-\x{27bf}\x{1f1e6}-\x{1f1ff}\x{1f191}-\x{1f251}\x{1f004}\x{1f0cf}\x{1f170}-\x{1f171}\x{1f17e}-\x{1f17f}\x{1f18e}\x{3030}\x{2b50}\x{2b55}\x{2934}-\x{2935}\x{2b05}-\x{2b07}\x{2b1b}-\x{2b1c}\x{3297}\x{3299}\x{303d}\x{00a9}\x{00ae}\x{2122}\x{23f3}\x{24c2}\x{23e9}-\x{23ef}\x{25b6}\x{23f8}-\x{23fa}]" <ФАЙЛ>

cм. также:

 

Loading

You may also like

Leave a Comment