Huge news!Announcing our $20M Series A led by Andreessen Horowitz.Learn more
Socket
Socket
Log inDemoInstall

emoji-regex

Package Overview
Dependencies
0
Maintainers
2
Versions
34
Issues
File Explorer

Advanced tools

Install Socket

Protect your apps from supply chain attacks

Install

emoji-regex

A regular expression to match all Emoji-only symbols as per the Unicode Standard.

    10.3.0latest
    GitHub
    npm

Version published
Maintainers
2
Weekly downloads
85,581,774
decreased by-7.44%

Weekly downloads

Package description

What is emoji-regex?

The emoji-regex npm package provides a regular expression to match all Emoji-only symbols as per the Unicode Standard. This package is useful for processing text that contains emojis, allowing developers to identify, validate, or manipulate emojis within strings.

What are emoji-regex's main functionalities?

Matching emojis in a string

This code sample demonstrates how to use emoji-regex to find all emojis in a given string. The regex is executed against a string containing emojis, and it will match each emoji character or sequence.

/(emojiRegex())/g.exec('I ❤️ emoji!')

Replacing emojis in a string

This code sample shows how to replace all emojis in a string with a specific word or character. In this case, every emoji in the string is replaced with the word 'emoji'.

'I ❤️ emoji!'.replace(emojiRegex(), 'emoji')

Counting emojis in a string

This code sample is used to count the number of emojis in a string. The match function returns an array of all emojis found, and the length property of the array indicates the total number of emojis.

'👍👍🏿'.match(emojiRegex()).length

Other packages similar to emoji-regex

Readme

Source

emoji-regex Build status emoji-regex on npm

emoji-regex offers a regular expression to match all emoji symbols and sequences (including textual representations of emoji) as per the Unicode Standard. It’s based on emoji-test-regex-pattern, which generates (at build time) the regular expression pattern based on the Unicode Standard. As a result, emoji-regex can easily be updated whenever new emoji are added to Unicode.

Installation

Via npm:

npm install emoji-regex

In Node.js:

const emojiRegex = require('emoji-regex');
// Note: because the regular expression has the global flag set, this module
// exports a function that returns the regex rather than exporting the regular
// expression itself, to make it impossible to (accidentally) mutate the
// original regular expression.

const text = `
\u{231A}: ⌚ default emoji presentation character (Emoji_Presentation)
\u{2194}\u{FE0F}: ↔️ default text presentation character rendered as emoji
\u{1F469}: 👩 emoji modifier base (Emoji_Modifier_Base)
\u{1F469}\u{1F3FF}: 👩🏿 emoji modifier base followed by a modifier
`;

const regex = emojiRegex();
for (const match of text.matchAll(regex)) {
  const emoji = match[0];
  console.log(`Matched sequence ${ emoji } — code points: ${ [...emoji].length }`);
}

Console output:

Matched sequence ⌚ — code points: 1
Matched sequence ⌚ — code points: 1
Matched sequence ↔️ — code points: 2
Matched sequence ↔️ — code points: 2
Matched sequence 👩 — code points: 1
Matched sequence 👩 — code points: 1
Matched sequence 👩🏿 — code points: 2
Matched sequence 👩🏿 — code points: 2

For maintainers

How to update emoji-regex after new Unicode Standard releases

  1. Update emoji-test-regex-pattern as described in its repository.

  2. Bump the emoji-test-regex-pattern dependency to the latest version.

  3. Update the Unicode data dependency in package.json by running the following commands:

    # Example: updating from Unicode v13 to Unicode v14.
    npm uninstall @unicode/unicode-13.0.0
    npm install @unicode/unicode-14.0.0 --save-dev
    
  4. Generate the new output:

    npm run build
    
  5. Verify that tests still pass:

    npm test
    

How to publish a new release

  1. On the main branch, bump the emoji-regex version number in package.json:

    npm version patch -m 'Release v%s'
    

    Instead of patch, use minor or major as needed.

    Note that this produces a Git commit + tag.

  2. Push the release commit and tag:

    git push && git push --tags
    

    Our CI then automatically publishes the new release to npm.

Author

twitter/mathias
Mathias Bynens

License

emoji-regex is available under the MIT license.

Keywords

FAQs

Last updated on 17 Oct 2023

Did you know?

Socket installs a GitHub app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.

Install
SocketSocket SOC 2 Logo

Product

  • Package Issues
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc