• Login
    • Report A Bug
    • System Information
    • System Tests
    • System Policies
    • Code Documentation
    • Occam Source Code
    • Web Client Source Code
    • About Occam
    • Acknowledgements
    • Guides / Documentation
    • Publications

translation missing: en.flash.saving
translation missing: en.flash.error
  • Bibliography Data
  • Metadata
resource
  • git
    https://github.com/mathiasbynens/emoji-regex.git Source Repository
    QmVqQWHYZxeXvUCjoHMVwV7B9j9RRcivPb47vL9ig8TrQd
    0ffa466d7ab65af304d03dddd3a92a2d8268e7ce
      QmVqQWHYZxeXvUCjoHMVwV7B9j9RRcivPb47vL9ig8TrQd
      0ffa466d7ab65af304d03dddd3a92a2d8268e7ce

      • Details
      • Files
      • History
        • Source

          https://github.com/mathiasbynens/emoji-regex.git

          emoji-regex Build status

          emoji-regex offers a regular expression to match all emoji symbols and sequences (including textual representations of emoji) as per the Unicode Standard.

          This repository contains a script that generates this regular expression based on Unicode data. Because of this, the regular expression can easily be updated whenever new emoji are added to the Unicode standard.

          Installation

          Via npm:

          npm install emoji-regex
          

          In Node.js:

          const emojiRegex = require('emoji-regex/RGI_Emoji.js');
          // 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();
          let match;
          while (match = regex.exec(text)) {
            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
          

          Regular expression flavors

          The package comes with three distinct regular expressions:

          // This is the recommended regular expression to use. It matches all
          // emoji recommended for general interchange, as defined via the
          // `RGI_Emoji` property in the Unicode Standard.
          // https://unicode.org/reports/tr51/#def_rgi_set
          // When in doubt, use this!
          const emojiRegexRGI = require('emoji-regex/RGI_Emoji.js');
          
          // This is the old regular expression, prior to `RGI_Emoji` being
          // standardized. In addition to all `RGI_Emoji` sequences, it matches
          // some emoji you probably don’t want to match (such as emoji component
          // symbols that are not meant to be used separately).
          const emojiRegex = require('emoji-regex/index.js');
          
          // This regular expression matches even more emoji than the previous
          // one, including emoji that render as text instead of icons (i.e.
          // emoji that are not `Emoji_Presentation` symbols and that aren’t
          // forced to render as emoji by a variation selector).
          const emojiRegexText = require('emoji-regex/text.js');
          

          Additionally, in environments which support ES2015 Unicode escapes, you may require ES2015-style versions of the regexes:

          const emojiRegexRGI = require('emoji-regex/es2015/RGI_Emoji.js');
          const emojiRegex = require('emoji-regex/es2015/index.js');
          const emojiRegexText = require('emoji-regex/es2015/text.js');
          

          For maintainers

          How to update emoji-regex after new Unicode Standard releases

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

            # Example: updating from Unicode v12 to Unicode v13.
            npm uninstall @unicode/unicode-12.0.0
            npm install @unicode/unicode-13.0.0 --save-dev
            
          2. Generate the new output:

            npm run build
            
          3. Verify that tests still pass:

            npm test
            
          4. Send a pull request with the changes, and get it reviewed & merged.

          5. 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.

          6. Push the release commit and tag:

            git push
            

            Our CI then automatically publishes the new release to npm.

          Author

          | twitter/mathias | |---| | Mathias Bynens |

          License

          emoji-regex is available under the MIT license.

          Related

          • maintainer

            npm

          Share

          • URL

            Copy
          • Embed Link

            Copy
          • QR Code

        • JavaScript must be enabled.

          There was an error retrieving this content.

          The content could not be found.

        • JavaScript must be enabled.

          There was an error retrieving this content.

          The content could not be found.

        Confirm
        Do you wish to proceed?

        Confirm message?