emoji-regex

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

Github星跟蹤圖

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 v12. 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 aren’t 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.

主要指標

概覽
名稱與所有者mathiasbynens/emoji-regex
主編程語言JavaScript
編程語言JavaScript (語言數: 1)
平台
許可證MIT License
所有者活动
創建於2014-09-28 11:08:29
推送於2024-08-26 12:40:50
最后一次提交
發布數36
最新版本名稱v10.4.0 (發布於 2024-08-26 14:40:48)
第一版名稱v1.0.0 (發布於 )
用户参与
星數1.8k
關注者數21
派生數172
提交數112
已啟用問題?
問題數83
打開的問題數11
拉請求數24
打開的拉請求數1
關閉的拉請求數11
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?