node/deps/npm/node_modules/emoji-regex
claudiahdz db54b57042 deps: upgrade npm to 6.14.7
PR-URL: https://github.com/nodejs/node/pull/34468
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ruy Adorno <ruyadorno@github.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2020-07-26 22:30:56 -07:00
..
es2015 deps: upgrade npm to 6.14.7 2020-07-26 22:30:56 -07:00
index.d.ts deps: upgrade npm to 6.14.7 2020-07-26 22:30:56 -07:00
index.js deps: upgrade npm to 6.14.7 2020-07-26 22:30:56 -07:00
LICENSE-MIT.txt deps: upgrade npm to 6.14.7 2020-07-26 22:30:56 -07:00
package.json deps: upgrade npm to 6.14.7 2020-07-26 22:30:56 -07:00
README.md deps: upgrade npm to 6.14.7 2020-07-26 22:30:56 -07:00
text.js deps: upgrade npm to 6.14.7 2020-07-26 22:30:56 -07:00

emoji-regex Build status

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

This repository contains a script that generates this regular expression based on the data from Unicode Technical Report #51. 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');
// 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

To match emoji in their textual representation as well (i.e. emoji that are not Emoji_Presentation symbols and that arent forced to render as emoji by a variation selector), require the other regex:

const emojiRegex = require('emoji-regex/text.js');

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

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

Author

twitter/mathias
Mathias Bynens

License

emoji-regex is available under the MIT license.