有没有办法检查JS中的字符串是否是一个表情符号?


20

问题很简单:我有一个字符串str,如何检查str一个表情符号,是否只有一个?另外,我宁愿不使用其他库。

比赛"🍎""⛹🏿‍♂️""3️⃣"但不"🍓a""𝕒""🍌🍀"

我在寻找解决方案时遇到了麻烦,但是到目前为止,我已经尝试了一些方法:


尝试的解决方案1-玩弄长度和...运算符

我了解到,表情符号占据一个以上的字节,有些甚至占据4个字节,甚至更多……我们可以通过字符串的length属性来衡量:

console.log("🍎".length); // 2
console.log("🛡️".length); // 3
console.log("⛹🏿‍♂️".length); // 6

然后我发现...运算符考虑了这一点,并正确分离了数组中的表情符号-然后,我可以查看结果数组的length属性并检测它们是否不同。

str = "⛹🏿‍♂️";
if (str.length !== [...str].length) {
  // is emoji?
} else {
  // is not emoji
}

但是,这不会检查其他多字节字符,例如𝕡长度为2的字符。另外,有些表情符号仍然被怪异地分开。


尝试解决方案2-正则表达式,正则表达式

当然,正则表达式是一个值得研究的问题,但我尚未找到可行的解决方案。

这个答案的正则表达式\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff]可以很好地检测字符串是否有表情符号,但是将其应用于我的情况会产生很多问题。这是我的测试:

A部分-没有字符串正则表达式(^$)的开始/结束

  • 2A.1 str.match(regex)非常不一致,它分解了一些表情符号和其他一些无法使用的表情符号。我没有找到一种方法来找出它是否甚至包含非表情符号字符或是否包含多个表情符号:
let regex = /(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/;

console.log("5️⃣".match(regex)); // [ '⃣', '⃣', index: 2, input: '5️⃣' ]
console.log("💡".match(regex)); // [ '💡', '💡', index: 0, input: '💡' ]
console.log("🌡️🌡️".match(regex)); // [ '🌡', '🌡', index: 0, input: '🌡️🌡️' ]
console.log("a⛅".match(regex)); // [ '⛅', '⛅', index: 1, input: 'a⛅' ]
  • regex.test(str)每当字符串中包含表情符号时,2A.2返回true,这不是我要查找的行为:
let regex = /(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/;

console.log(regex.test("5️⃣")); // true - correct
console.log(regex.test("a")); // false - correct
console.log(regex.test("🌡️🌡️")); // true - should be false
console.log(regex.test("hello ⛅!")); // true - should be false

B部分-以字符串正则表达式(^$)开头/结尾

  • 2B.1 由于某些原因str.match(regex)返回null了某些表情符号。我不知道为什么,但是我假设它与为什么str.match(regex)会在A部分中分解这些表情符号有关:
let regex = /^(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])$/;

console.log("5️⃣".match(regex)); // null
console.log("💡".match(regex)); // [ '💡', '💡', index: 0, input: '💡' ]
console.log("🌡️".match(regex)); // null
console.log("⛅".match(regex)); // [ '⛅', '⛅', index: 1, input: 'a⛅' ]
console.log("🍌🍀".match(regex)); // null
  • 2B.2 regex.test(str)将返回false在同一表情符号,它会返回nullstr.match(regex)
let regex = /^(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])$/;

console.log(regex.test("5️⃣")); // false - should be true
console.log(regex.test("💡")); // true - correct
console.log(regex.test("🌡️")); // false - should be true
console.log(regex.test("⛅")); // true - correct
console.log(regex.test("🍌🍀")); // false - correct

C部分-其他正则表达式

  • 我发现了这一点,但它给出了相似的不一致之处,尽管并不相同/(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|[\ud83c[\ude01\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|[\ud83c[\ude32\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|[\ud83c[\ude50\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])/g
let regex = /^(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|[\ud83c[\ude01\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|[\ud83c[\ude32\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|[\ud83c[\ude50\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])$/g

console.log(regex.test("5️⃣")); // true - correct
console.log(regex.test("💡")); // false - should be true
console.log(regex.test("🌡️")); // false - should be true
console.log(regex.test("⛅")); // true - correct
console.log(regex.test("🍌🍀")); // false - correct
  • 这也令人震惊(第二测试基于第一测试而改变?)
let regex = /^(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|[\ud83c[\ude01\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|[\ud83c[\ude32\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|[\ud83c[\ude50\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])$/g

console.log(regex.test("⛹🏿‍♂️")); // false
console.log(regex.test("⛅")); // true
let regex = /^(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|[\ud83c[\ude01\uddff]|\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|[\ud83c[\ude32\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32-\ude3a]|[\ud83c[\ude50\ude3a]|\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])$/g;

console.log(regex.test("⛹")); // true
console.log(regex.test("⛅")); // false

有没有办法解决所有这些表情符号/ unicode / regex混乱?库/ api是唯一的方法吗?他们是怎么做到的呢?



2
我个人认为维护正则表达式不是一个好主意,除非您是从unicode规范中生成它的。虽然已经有图书馆这样做。请参阅emoji-regexemoji.json
杰克·霍尔辛格

谢谢WiktorStribiżew,正则表达式非常有效!我可以知道你从哪里得到的吗?
luxluxdev

1
有图书馆的时间和地方。恕我直言,这是其中之一。保持依赖关系的版本和文件大小的成本似乎比让其他人为您解决这个非常复杂的问题所付出的代价高得多。
克里斯,

1
回复:“他们如何做到这一点”,丹尼尔·维克斯(Daniel Vickers)链接的库是指:unicode.org/reports/tr29/#Default_Grapheme_Cluster_Table
克里斯(Chris)

Answers:


1

使用此库:https : //github.com/foliojs/grapheme-breaker尝试以下操作:

var str = "⛹🏿‍♂️";
var Grapheme = require('grapheme-splitter');
var splitter = new Grapheme();
console.log(splitter.splitGraphemes(str).length);

长度应返回1。


这个库很棒,但是它已经一年没有使用了,但是它受到了github.com/foliojs/grapheme-breaker的启发,该库最近才被启用:)(我删除了我的旧评论,因为链接错误)
luxluxdev

谢谢您,我也更新了答案中的链接。
Daniel Vickers

1

表情符号是在UAX#51中指定的。该属性\p{Emoji}应该可以,但是不能。

用困难的方式做。解析emoji-*.txt

perl -C -lne'
    if (my ($c) = $_ =~ /^((?:(?:[[:xdigit:]]+ )|[[:xdigit:]]+\.\.)[[:xdigit:]]+)/) {
        if ($c =~ /\.\./) { # ranges
             my ($f, $t) = map { hex } split /\.\./, $c;
             print for map { chr } $f..$t;
        } else { # sequences
             print join "", map { chr hex } split /\s+/, $c;
        }
    }
' emoji-*.txt

这为我们提供了所有表情符号的换行分隔列表。使用Regexp :: Assemble :: Compressed,结果是

/^(?:[\u{23EB}\u{23EC}\u{23F0}\u{2607}-\u{260D}\u{260F}\u{2610}\u{2616}\u{2617}\u{2619}-\u{261C}\u{261E}\u{261F}\u{2624}\u{2625}\u{2627}-\u{2629}\u{262B}-\u{262D}\u{2630}-\u{2637}\u{263B}-\u{263F}\u{2643}-\u{2647}\u{2654}-\u{265E}\u{2661}\u{2662}\u{2669}-\u{267A}\u{267C}\u{267D}\u{2680}-\u{2685}\u{2690}\u{2691}\u{269D}-\u{269F}\u{26A2}-\u{26A9}\u{26AC}-\u{26AF}\u{26B2}-\u{26BC}\u{26BF}-\u{26C3}\u{26C6}\u{26C7}\u{26C9}-\u{26CE}\u{26D5}-\u{26E8}\u{26EB}-\u{26EF}\u{26FB}\u{26FC}\u{26FE}-\u{2701}\u{2703}\u{2704}\u{2710}\u{2711}\u{2754}\u{2755}\u{2765}-\u{2767}\u{2795}-\u{2797}\u{1F000}-\u{1F003}\u{1F005}-\u{1F0CE}\u{1F0D0}-\u{1F0FF}\u{1F10D}-\u{1F10F}\u{1F16C}-\u{1F16F}\u{1F191}-\u{1F19A}\u{1F1AD}-\u{1F1E5}\u{1F201}\u{1F203}-\u{1F20F}\u{1F232}-\u{1F236}\u{1F238}-\u{1F23A}\u{1F23C}-\u{1F23F}\u{1F249}-\u{1F30C}\u{1F310}-\u{1F314}\u{1F316}-\u{1F31B}\u{1F31D}-\u{1F320}\u{1F322}\u{1F323}\u{1F32D}-\u{1F335}\u{1F337}-\u{1F377}\u{1F379}-\u{1F37C}\u{1F37E}-\u{1F384}\u{1F386}-\u{1F392}\u{1F394}\u{1F395}\u{1F39C}\u{1F39D}\u{1F3A0}-\u{1F3A6}\u{1F3A8}-\u{1F3AB}\u{1F3AF}-\u{1F3C1}\u{1F3C5}\u{1F3C8}\u{1F3C9}\u{1F3CF}-\u{1F3D3}\u{1F3E1}-\u{1F3EC}\u{1F3EE}-\u{1F3F2}\u{1F3F8}-\u{1F407}\u{1F409}-\u{1F414}\u{1F416}-\u{1F41E}\u{1F420}-\u{1F425}\u{1F427}-\u{1F43E}\u{1F440}\u{1F444}\u{1F445}\u{1F451}\u{1F452}\u{1F454}-\u{1F465}\u{1F479}-\u{1F47B}\u{1F47E}-\u{1F480}\u{1F484}\u{1F488}-\u{1F4A2}\u{1F4A4}-\u{1F4A9}\u{1F4AB}-\u{1F4AF}\u{1F4B1}\u{1F4B2}\u{1F4B4}-\u{1F4BA}\u{1F4BC}-\u{1F4BE}\u{1F4C0}-\u{1F4CA}\u{1F4CC}-\u{1F4D9}\u{1F4DB}-\u{1F4DE}\u{1F4E0}-\u{1F4E3}\u{1F4E7}-\u{1F4E9}\u{1F4EE}-\u{1F4F6}\u{1F4F8}\u{1F4FC}\u{1F4FF}-\u{1F507}\u{1F509}-\u{1F50C}\u{1F50E}-\u{1F511}\u{1F514}-\u{1F53D}\u{1F546}-\u{1F548}\u{1F54B}-\u{1F54E}\u{1F568}-\u{1F56E}\u{1F571}\u{1F572}\u{1F57B}-\u{1F586}\u{1F588}\u{1F589}\u{1F58E}\u{1F58F}\u{1F591}-\u{1F594}\u{1F597}-\u{1F5A3}\u{1F5A6}\u{1F5A7}\u{1F5A9}-\u{1F5B0}\u{1F5B3}-\u{1F5BB}\u{1F5BD}-\u{1F5C1}\u{1F5C5}-\u{1F5D0}\u{1F5D4}-\u{1F5DB}\u{1F5DF}\u{1F5E0}\u{1F5E4}-\u{1F5E7}\u{1F5E9}-\u{1F5EE}\u{1F5F0}-\u{1F5F2}\u{1F5F4}-\u{1F5F9}\u{1F5FB}-\u{1F60F}\u{1F611}-\u{1F644}\u{1F648}-\u{1F64A}\u{1F680}-\u{1F686}\u{1F688}-\u{1F68C}\u{1F68E}-\u{1F690}\u{1F692}\u{1F693}\u{1F695}-\u{1F697}\u{1F699}-\u{1F6A2}\u{1F6A4}-\u{1F6AC}\u{1F6AE}-\u{1F6B1}\u{1F6B3}\u{1F6B7}\u{1F6B8}\u{1F6BB}\u{1F6BD}-\u{1F6BF}\u{1F6C1}-\u{1F6CA}\u{1F6D0}-\u{1F6D4}\u{1F6D6}-\u{1F6DF}\u{1F6E6}-\u{1F6E8}\u{1F6EB}-\u{1F6EF}\u{1F6F1}\u{1F6F2}\u{1F6F4}-\u{1F6F8}\u{1F6FB}-\u{1F6FF}\u{1F774}-\u{1F77F}\u{1F7D5}-\u{1F7FF}\u{1F80C}-\u{1F80F}\u{1F848}-\u{1F84F}\u{1F85A}-\u{1F85F}\u{1F888}-\u{1F88F}\u{1F8AE}-\u{1F8FF}\u{1F90D}\u{1F90E}\u{1F910}-\u{1F917}\u{1F91D}\u{1F920}-\u{1F925}\u{1F927}-\u{1F92F}\u{1F93A}\u{1F940}-\u{1F945}\u{1F947}-\u{1F94B}\u{1F94D}-\u{1F970}\u{1F973}-\u{1F979}\u{1F97C}-\u{1F9B4}\u{1F9B7}\u{1F9BA}\u{1F9BC}-\u{1F9BF}\u{1F9C1}-\u{1F9CC}\u{1F9D0}\u{1F9E0}-\u{1FFFD}\u{E0020}-\u{E007F}]|\u{1F1F2}[\u{1F1E6}\u{1F1E8}-\u{1F1ED}\u{1F1F0}-\u{1F1FF}]?|\u{1F1E7}[\u{1F1E6}\u{1F1E7}\u{1F1E9}-\u{1F1EF}\u{1F1F1}-\u{1F1F4}\u{1F1F6}-\u{1F1F9}\u{1F1FB}\u{1F1FC}\u{1F1FE}\u{1F1FF}]?|\u{1F1F8}[\u{1F1E6}-\u{1F1EA}\u{1F1EC}-\u{1F1F4}\u{1F1F7}-\u{1F1F9}\u{1F1FB}\u{1F1FD}-\u{1F1FF}]?|\u{1F1E8}[\u{1F1E6}\u{1F1E8}\u{1F1E9}\u{1F1EB}-\u{1F1EE}\u{1F1F0}-\u{1F1F5}\u{1F1F7}\u{1F1FA}-\u{1F1FF}]?|\u{1F1EC}[\u{1F1E6}\u{1F1E7}\u{1F1E9}-\u{1F1EE}\u{1F1F1}-\u{1F1F3}\u{1F1F5}-\u{1F1FA}\u{1F1FC}\u{1F1FE}]?|\u{1F1E6}[\u{1F1E8}-\u{1F1EC}\u{1F1EE}\u{1F1F1}\u{1F1F2}\u{1F1F4}\u{1F1F6}-\u{1F1FA}\u{1F1FC}\u{1F1FD}\u{1F1FF}]?|\u{1F1F9}[\u{1F1E6}\u{1F1E8}\u{1F1E9}\u{1F1EB}-\u{1F1ED}\u{1F1EF}-\u{1F1F4}\u{1F1F7}\u{1F1F9}\u{1F1FB}\u{1F1FC}\u{1F1FF}]?|\u{1F1F5}[\u{1F1E6}\u{1F1EA}-\u{1F1ED}\u{1F1F0}-\u{1F1F3}\u{1F1F7}-\u{1F1F9}\u{1F1FC}\u{1F1FE}]?|\u{1F1F3}[\u{1F1E6}\u{1F1E8}\u{1F1EA}-\u{1F1EC}\u{1F1EE}\u{1F1F1}\u{1F1F4}\u{1F1F5}\u{1F1F7}\u{1F1FA}\u{1F1FF}]?|\u{1F1EE}[\u{1F1E8}-\u{1F1EA}\u{1F1F1}-\u{1F1F4}\u{1F1F6}-\u{1F1F9}]?|\u{1F1F0}[\u{1F1EA}\u{1F1EC}-\u{1F1EE}\u{1F1F2}\u{1F1F3}\u{1F1F5}\u{1F1F7}\u{1F1FC}\u{1F1FE}\u{1F1FF}]?|\u{1F1F1}[\u{1F1E6}-\u{1F1E8}\u{1F1EE}\u{1F1F0}\u{1F1F7}-\u{1F1FB}\u{1F1FE}]?|\u{1F1EA}[\u{1F1E6}\u{1F1E8}\u{1F1EA}\u{1F1EC}\u{1F1ED}\u{1F1F7}-\u{1F1FA}]?|\u{26F9}[\u{200D}\u{FE0E}\u{FE0F}\u{1F3FB}-\u{1F3FF}]?|\u{1F3C4}[\u{200D}\u{FE0E}\u{FE0F}\u{1F3FB}-\u{1F3FF}]?|\u{1F3CA}[\u{200D}\u{FE0E}\u{FE0F}\u{1F3FB}-\u{1F3FF}]?|\u{1F3CB}[\u{200D}\u{FE0E}\u{FE0F}\u{1F3FB}-\u{1F3FF}]?|\u{1F3CC}[\u{200D}\u{FE0E}\u{FE0F}\u{1F3FB}-\u{1F3FF}]?|\u{1F575}[\u{200D}\u{FE0E}\u{FE0F}\u{1F3FB}-\u{1F3FF}]?|\u{270C}[\u{FE0E}\u{FE0F}\u{1F3FB}-\u{1F3FF}]?|\u{270D}[\u{FE0E}\u{FE0F}\u{1F3FB}-\u{1F3FF}]?|\u{1F1E9}[\u{1F1EA}\u{1F1EC}\u{1F1EF}\u{1F1F0}\u{1F1F2}\u{1F1F4}\u{1F1FF}]?|\u{1F1FA}[\u{1F1E6}\u{1F1EC}\u{1F1F2}\u{1F1F3}\u{1F1F8}\u{1F1FE}\u{1F1FF}]?|\u{1F1FB}[\u{1F1E6}\u{1F1E8}\u{1F1EA}\u{1F1EC}\u{1F1EE}\u{1F1F3}\u{1F1FA}]?|\u{1F3C2}[\u{FE0E}\u{FE0F}\u{1F3FB}-\u{1F3FF}]?|\u{1F442}[\u{FE0E}\u{FE0F}\u{1F3FB}-\u{1F3FF}]?|\u{1F446}[\u{FE0E}\u{FE0F}\u{1F3FB}-\u{1F3FF}]?|\u{1F447}[\u{FE0E}\u{FE0F}\u{1F3FB}-\u{1F3FF}]?|\u{1F448}[\u{FE0E}\u{FE0F}\u{1F3FB}-\u{1F3FF}]?|\u{1F449}[\u{FE0E}\u{FE0F}\u{1F3FB}-\u{1F3FF}]?|\u{1F44D}[\u{FE0E}\u{FE0F}\u{1F3FB}-\u{1F3FF}]?|\u{1F44E}[\u{FE0E}\u{FE0F}\u{1F3FB}-\u{1F3FF}]?|\u{1F574}[\u{FE0E}\u{FE0F}\u{1F3FB}-\u{1F3FF}]?|\u{261D}[\u{FE0E}\u{FE0F}\u{1F3FB}-\u{1F3FF}]|\u{1F1EB}[\u{1F1EE}-\u{1F1F0}\u{1F1F2}\u{1F1F4}\u{1F1F7}]?|\u{1F1ED}[\u{1F1F0}\u{1F1F2}\u{1F1F3}\u{1F1F7}\u{1F1F9}\u{1F1FA}]?|\u{1F3C3}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F468}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F469}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F46E}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F471}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F473}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F477}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F481}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F482}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F486}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F487}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F590}[\u{FE0E}\u{FE0F}\u{1F3FB}-\u{1F3FF}]|\u{1F645}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F646}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F647}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F64B}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F64D}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F64E}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F6A3}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F6B4}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F6B5}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F6B6}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F926}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F937}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F938}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F939}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F93D}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F93E}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F9B8}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F9B9}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F9CD}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F9CE}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F9CF}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F9D1}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F9D6}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F9D7}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F9D8}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F9D9}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F9DA}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F9DB}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F9DC}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{1F9DD}[\u{200D}\u{1F3FB}-\u{1F3FF}]?|\u{270A}[\u{1F3FB}-\u{1F3FF}]?|\u{270B}[\u{1F3FB}-\u{1F3FF}]?|\u{1F1F7}[\u{1F1EA}\u{1F1F4}\u{1F1F8}\u{1F1FA}\u{1F1FC}]?|\u{1F385}[\u{1F3FB}-\u{1F3FF}]?|\u{1F3C7}[\u{1F3FB}-\u{1F3FF}]?|\u{1F443}[\u{1F3FB}-\u{1F3FF}]?|\u{1F44A}[\u{1F3FB}-\u{1F3FF}]?|\u{1F44B}[\u{1F3FB}-\u{1F3FF}]?|\u{1F44C}[\u{1F3FB}-\u{1F3FF}]?|\u{1F44F}[\u{1F3FB}-\u{1F3FF}]?|\u{1F450}[\u{1F3FB}-\u{1F3FF}]?|\u{1F466}[\u{1F3FB}-\u{1F3FF}]?|\u{1F467}[\u{1F3FB}-\u{1F3FF}]?|\u{1F46B}[\u{1F3FB}-\u{1F3FF}]?|\u{1F46C}[\u{1F3FB}-\u{1F3FF}]?|\u{1F46D}[\u{1F3FB}-\u{1F3FF}]?|\u{1F470}[\u{1F3FB}-\u{1F3FF}]?|\u{1F472}[\u{1F3FB}-\u{1F3FF}]?|\u{1F474}[\u{1F3FB}-\u{1F3FF}]?|\u{1F475}[\u{1F3FB}-\u{1F3FF}]?|\u{1F476}[\u{1F3FB}-\u{1F3FF}]?|\u{1F478}[\u{1F3FB}-\u{1F3FF}]?|\u{1F47C}[\u{1F3FB}-\u{1F3FF}]?|\u{1F483}[\u{1F3FB}-\u{1F3FF}]?|\u{1F485}[\u{1F3FB}-\u{1F3FF}]?|\u{1F4AA}[\u{1F3FB}-\u{1F3FF}]?|\u{1F595}[\u{1F3FB}-\u{1F3FF}]?|\u{1F596}[\u{1F3FB}-\u{1F3FF}]?|\u{1F64C}[\u{1F3FB}-\u{1F3FF}]?|\u{1F64F}[\u{1F3FB}-\u{1F3FF}]?|\u{1F6C0}[\u{1F3FB}-\u{1F3FF}]?|\u{1F6CC}[\u{1F3FB}-\u{1F3FF}]?|\u{1F90F}[\u{1F3FB}-\u{1F3FF}]?|\u{1F918}[\u{1F3FB}-\u{1F3FF}]?|\u{1F919}[\u{1F3FB}-\u{1F3FF}]?|\u{1F91A}[\u{1F3FB}-\u{1F3FF}]?|\u{1F91B}[\u{1F3FB}-\u{1F3FF}]?|\u{1F91C}[\u{1F3FB}-\u{1F3FF}]?|\u{1F91E}[\u{1F3FB}-\u{1F3FF}]?|\u{1F931}[\u{1F3FB}-\u{1F3FF}]?|\u{1F932}[\u{1F3FB}-\u{1F3FF}]?|\u{1F933}[\u{1F3FB}-\u{1F3FF}]?|\u{1F934}[\u{1F3FB}-\u{1F3FF}]?|\u{1F935}[\u{1F3FB}-\u{1F3FF}]?|\u{1F936}[\u{1F3FB}-\u{1F3FF}]?|\u{1F9B5}[\u{1F3FB}-\u{1F3FF}]?|\u{1F9B6}[\u{1F3FB}-\u{1F3FF}]?|\u{1F9BB}[\u{1F3FB}-\u{1F3FF}]?|\u{1F9D2}[\u{1F3FB}-\u{1F3FF}]?|\u{1F9D3}[\u{1F3FB}-\u{1F3FF}]?|\u{1F9D4}[\u{1F3FB}-\u{1F3FF}]?|\u{1F9D5}[\u{1F3FB}-\u{1F3FF}]?|\u{1F1EF}[\u{1F1EA}\u{1F1F2}\u{1F1F4}\u{1F1F5}]?|\u{1F57A}[\u{1F3FB}-\u{1F3FF}]|\u{1F91F}[\u{1F3FB}-\u{1F3FF}]|\u{1F930}[\u{1F3FB}-\u{1F3FF}]|0[\u{20E3}\u{FE0E}\u{FE0F}]?|1[\u{20E3}\u{FE0E}\u{FE0F}]?|2[\u{20E3}\u{FE0E}\u{FE0F}]?|3[\u{20E3}\u{FE0E}\u{FE0F}]?|4[\u{20E3}\u{FE0E}\u{FE0F}]?|5[\u{20E3}\u{FE0E}\u{FE0F}]?|6[\u{20E3}\u{FE0E}\u{FE0F}]?|7[\u{20E3}\u{FE0E}\u{FE0F}]?|8[\u{20E3}\u{FE0E}\u{FE0F}]?|9[\u{20E3}\u{FE0E}\u{FE0F}]?|\\*[\u{20E3}\u{FE0E}\u{FE0F}]|\u{1F1FF}[\u{1F1E6}\u{1F1F2}\u{1F1FC}]?|\u{1F3F3}[\u{200D}\u{FE0E}\u{FE0F}]?|\u{1F415}[\u{200D}\u{FE0E}\u{FE0F}]?|\u{1F441}[\u{200D}\u{FE0E}\u{FE0F}]?|#[\u{20E3}\u{FE0E}\u{FE0F}]|\u{2194}[\u{FE0E}\u{FE0F}]?|\u{2195}[\u{FE0E}\u{FE0F}]?|\u{2196}[\u{FE0E}\u{FE0F}]?|\u{2197}[\u{FE0E}\u{FE0F}]?|\u{2198}[\u{FE0E}\u{FE0F}]?|\u{2199}[\u{FE0E}\u{FE0F}]?|\u{21A9}[\u{FE0E}\u{FE0F}]?|\u{21AA}[\u{FE0E}\u{FE0F}]?|\u{231A}[\u{FE0E}\u{FE0F}]?|\u{231B}[\u{FE0E}\u{FE0F}]?|\u{23E9}[\u{FE0E}\u{FE0F}]?|\u{23EA}[\u{FE0E}\u{FE0F}]?|\u{23ED}[\u{FE0E}\u{FE0F}]?|\u{23EE}[\u{FE0E}\u{FE0F}]?|\u{23EF}[\u{FE0E}\u{FE0F}]?|\u{23F1}[\u{FE0E}\u{FE0F}]?|\u{23F2}[\u{FE0E}\u{FE0F}]?|\u{23F3}[\u{FE0E}\u{FE0F}]?|\u{23F8}[\u{FE0E}\u{FE0F}]?|\u{23F9}[\u{FE0E}\u{FE0F}]?|\u{23FA}[\u{FE0E}\u{FE0F}]?|\u{25AA}[\u{FE0E}\u{FE0F}]?|\u{25AB}[\u{FE0E}\u{FE0F}]?|\u{25FB}[\u{FE0E}\u{FE0F}]?|\u{25FC}[\u{FE0E}\u{FE0F}]?|\u{25FD}[\u{FE0E}\u{FE0F}]?|\u{25FE}[\u{FE0E}\u{FE0F}]?|\u{2600}[\u{FE0E}\u{FE0F}]?|\u{2601}[\u{FE0E}\u{FE0F}]?|\u{2602}[\u{FE0E}\u{FE0F}]?|\u{2603}[\u{FE0E}\u{FE0F}]?|\u{2604}[\u{FE0E}\u{FE0F}]?|\u{2614}[\u{FE0E}\u{FE0F}]?|\u{2615}[\u{FE0E}\u{FE0F}]?|\u{2622}[\u{FE0E}\u{FE0F}]?|\u{2623}[\u{FE0E}\u{FE0F}]?|\u{262E}[\u{FE0E}\u{FE0F}]?|\u{262F}[\u{FE0E}\u{FE0F}]?|\u{2638}[\u{FE0E}\u{FE0F}]?|\u{2639}[\u{FE0E}\u{FE0F}]?|\u{263A}[\u{FE0E}\u{FE0F}]?|\u{2648}[\u{FE0E}\u{FE0F}]?|\u{2649}[\u{FE0E}\u{FE0F}]?|\u{264A}[\u{FE0E}\u{FE0F}]?|\u{264B}[\u{FE0E}\u{FE0F}]?|\u{264C}[\u{FE0E}\u{FE0F}]?|\u{264D}[\u{FE0E}\u{FE0F}]?|\u{264E}[\u{FE0E}\u{FE0F}]?|\u{264F}[\u{FE0E}\u{FE0F}]?|\u{2650}[\u{FE0E}\u{FE0F}]?|\u{2651}[\u{FE0E}\u{FE0F}]?|\u{2652}[\u{FE0E}\u{FE0F}]?|\u{2653}[\u{FE0E}\u{FE0F}]?|\u{2665}[\u{FE0E}\u{FE0F}]?|\u{2666}[\u{FE0E}\u{FE0F}]?|\u{2692}[\u{FE0E}\u{FE0F}]?|\u{2693}[\u{FE0E}\u{FE0F}]?|\u{2694}[\u{FE0E}\u{FE0F}]?|\u{2696}[\u{FE0E}\u{FE0F}]?|\u{2697}[\u{FE0E}\u{FE0F}]?|\u{269B}[\u{FE0E}\u{FE0F}]?|\u{269C}[\u{FE0E}\u{FE0F}]?|\u{26A0}[\u{FE0E}\u{FE0F}]?|\u{26A1}[\u{FE0E}\u{FE0F}]?|\u{26AA}[\u{FE0E}\u{FE0F}]?|\u{26AB}[\u{FE0E}\u{FE0F}]?|\u{26B0}[\u{FE0E}\u{FE0F}]?|\u{26B1}[\u{FE0E}\u{FE0F}]?|\u{26BD}[\u{FE0E}\u{FE0F}]?|\u{26BE}[\u{FE0E}\u{FE0F}]?|\u{26C4}[\u{FE0E}\u{FE0F}]?|\u{26C5}[\u{FE0E}\u{FE0F}]?|\u{26CF}[\u{FE0E}\u{FE0F}]?|\u{26D3}[\u{FE0E}\u{FE0F}]?|\u{26D4}[\u{FE0E}\u{FE0F}]?|\u{26E9}[\u{FE0E}\u{FE0F}]?|\u{26EA}[\u{FE0E}\u{FE0F}]?|\u{26F0}[\u{FE0E}\u{FE0F}]?|\u{26F1}[\u{FE0E}\u{FE0F}]?|\u{26F2}[\u{FE0E}\u{FE0F}]?|\u{26F3}[\u{FE0E}\u{FE0F}]?|\u{26F4}[\u{FE0E}\u{FE0F}]?|\u{26F5}[\u{FE0E}\u{FE0F}]?|\u{26F7}[\u{FE0E}\u{FE0F}]?|\u{26F8}[\u{FE0E}\u{FE0F}]?|\u{26FA}[\u{FE0E}\u{FE0F}]?|\u{2708}[\u{FE0E}\u{FE0F}]?|\u{2709}[\u{FE0E}\u{FE0F}]?|\u{2733}[\u{FE0E}\u{FE0F}]?|\u{2734}[\u{FE0E}\u{FE0F}]?|\u{2753}[\u{FE0E}\u{FE0F}]?|\u{2763}[\u{FE0E}\u{FE0F}]?|\u{2764}[\u{FE0E}\u{FE0F}]?|\u{2934}[\u{FE0E}\u{FE0F}]?|\u{2935}[\u{FE0E}\u{FE0F}]?|\u{2B05}[\u{FE0E}\u{FE0F}]?|\u{2B06}[\u{FE0E}\u{FE0F}]?|\u{2B07}[\u{FE0E}\u{FE0F}]?|\u{2B1B}[\u{FE0E}\u{FE0F}]?|\u{2B1C}[\u{FE0E}\u{FE0F}]?|\u{1F170}[\u{FE0E}\u{FE0F}]?|\u{1F171}[\u{FE0E}\u{FE0F}]?|\u{1F17E}[\u{FE0E}\u{FE0F}]?|\u{1F17F}[\u{FE0E}\u{FE0F}]?|\u{1F1FC}[\u{1F1EB}\u{1F1F8}]?|\u{1F1FE}[\u{1F1EA}\u{1F1F9}]?|\u{1F202}[\u{FE0E}\u{FE0F}]?|\u{1F237}[\u{FE0E}\u{FE0F}]?|\u{1F30D}[\u{FE0E}\u{FE0F}]?|\u{1F30E}[\u{FE0E}\u{FE0F}]?|\u{1F30F}[\u{FE0E}\u{FE0F}]?|\u{1F315}[\u{FE0E}\u{FE0F}]?|\u{1F31C}[\u{FE0E}\u{FE0F}]?|\u{1F321}[\u{FE0E}\u{FE0F}]?|\u{1F324}[\u{FE0E}\u{FE0F}]?|\u{1F325}[\u{FE0E}\u{FE0F}]?|\u{1F326}[\u{FE0E}\u{FE0F}]?|\u{1F327}[\u{FE0E}\u{FE0F}]?|\u{1F328}[\u{FE0E}\u{FE0F}]?|\u{1F329}[\u{FE0E}\u{FE0F}]?|\u{1F32A}[\u{FE0E}\u{FE0F}]?|\u{1F32B}[\u{FE0E}\u{FE0F}]?|\u{1F32C}[\u{FE0E}\u{FE0F}]?|\u{1F336}[\u{FE0E}\u{FE0F}]?|\u{1F378}[\u{FE0E}\u{FE0F}]?|\u{1F37D}[\u{FE0E}\u{FE0F}]?|\u{1F393}[\u{FE0E}\u{FE0F}]?|\u{1F396}[\u{FE0E}\u{FE0F}]?|\u{1F397}[\u{FE0E}\u{FE0F}]?|\u{1F399}[\u{FE0E}\u{FE0F}]?|\u{1F39A}[\u{FE0E}\u{FE0F}]?|\u{1F39B}[\u{FE0E}\u{FE0F}]?|\u{1F39E}[\u{FE0E}\u{FE0F}]?|\u{1F39F}[\u{FE0E}\u{FE0F}]?|\u{1F3A7}[\u{FE0E}\u{FE0F}]?|\u{1F3AC}[\u{FE0E}\u{FE0F}]?|\u{1F3AD}[\u{FE0E}\u{FE0F}]?|\u{1F3AE}[\u{FE0E}\u{FE0F}]?|\u{1F3C6}[\u{FE0E}\u{FE0F}]?|\u{1F3CD}[\u{FE0E}\u{FE0F}]?|\u{1F3CE}[\u{FE0E}\u{FE0F}]?|\u{1F3D4}[\u{FE0E}\u{FE0F}]?|\u{1F3D5}[\u{FE0E}\u{FE0F}]?|\u{1F3D6}[\u{FE0E}\u{FE0F}]?|\u{1F3D7}[\u{FE0E}\u{FE0F}]?|\u{1F3D8}[\u{FE0E}\u{FE0F}]?|\u{1F3D9}[\u{FE0E}\u{FE0F}]?|\u{1F3DA}[\u{FE0E}\u{FE0F}]?|\u{1F3DB}[\u{FE0E}\u{FE0F}]?|\u{1F3DC}[\u{FE0E}\u{FE0F}]?|\u{1F3DD}[\u{FE0E}\u{FE0F}]?|\u{1F3DE}[\u{FE0E}\u{FE0F}]?|\u{1F3DF}[\u{FE0E}\u{FE0F}]?|\u{1F3E0}[\u{FE0E}\u{FE0F}]?|\u{1F3ED}[\u{FE0E}\u{FE0F}]?|\u{1F3F4}[\u{200D}\u{E0067}]?|\u{1F3F5}[\u{FE0E}\u{FE0F}]?|\u{1F3F7}[\u{FE0E}\u{FE0F}]?|\u{1F408}[\u{FE0E}\u{FE0F}]?|\u{1F41F}[\u{FE0E}\u{FE0F}]?|\u{1F426}[\u{FE0E}\u{FE0F}]?|\u{1F43F}[\u{FE0E}\u{FE0F}]?|\u{1F453}[\u{FE0E}\u{FE0F}]?|\u{1F46A}[\u{FE0E}\u{FE0F}]?|\u{1F47D}[\u{FE0E}\u{FE0F}]?|\u{1F4A3}[\u{FE0E}\u{FE0F}]?|\u{1F4B0}[\u{FE0E}\u{FE0F}]?|\u{1F4B3}[\u{FE0E}\u{FE0F}]?|\u{1F4BB}[\u{FE0E}\u{FE0F}]?|\u{1F4BF}[\u{FE0E}\u{FE0F}]?|\u{1F4CB}[\u{FE0E}\u{FE0F}]?|\u{1F4DA}[\u{FE0E}\u{FE0F}]?|\u{1F4DF}[\u{FE0E}\u{FE0F}]?|\u{1F4E4}[\u{FE0E}\u{FE0F}]?|\u{1F4E5}[\u{FE0E}\u{FE0F}]?|\u{1F4E6}[\u{FE0E}\u{FE0F}]?|\u{1F4EA}[\u{FE0E}\u{FE0F}]?|\u{1F4EB}[\u{FE0E}\u{FE0F}]?|\u{1F4EC}[\u{FE0E}\u{FE0F}]?|\u{1F4ED}[\u{FE0E}\u{FE0F}]?|\u{1F4F7}[\u{FE0E}\u{FE0F}]?|\u{1F4F9}[\u{FE0E}\u{FE0F}]?|\u{1F4FA}[\u{FE0E}\u{FE0F}]?|\u{1F4FB}[\u{FE0E}\u{FE0F}]?|\u{1F4FD}[\u{FE0E}\u{FE0F}]?|\u{1F508}[\u{FE0E}\u{FE0F}]?|\u{1F50D}[\u{FE0E}\u{FE0F}]?|\u{1F512}[\u{FE0E}\u{FE0F}]?|\u{1F513}[\u{FE0E}\u{FE0F}]?|\u{1F549}[\u{FE0E}\u{FE0F}]?|\u{1F54A}[\u{FE0E}\u{FE0F}]?|\u{1F550}[\u{FE0E}\u{FE0F}]?|\u{1F551}[\u{FE0E}\u{FE0F}]?|\u{1F552}[\u{FE0E}\u{FE0F}]?|\u{1F553}[\u{FE0E}\u{FE0F}]?|\u{1F554}[\u{FE0E}\u{FE0F}]?|\u{1F555}[\u{FE0E}\u{FE0F}]?|\u{1F556}[\u{FE0E}\u{FE0F}]?|\u{1F557}[\u{FE0E}\u{FE0F}]?|\u{1F558}[\u{FE0E}\u{FE0F}]?|\u{1F559}[\u{FE0E}\u{FE0F}]?|\u{1F55A}[\u{FE0E}\u{FE0F}]?|\u{1F55B}[\u{FE0E}\u{FE0F}]?|\u{1F55C}[\u{FE0E}\u{FE0F}]?|\u{1F55D}[\u{FE0E}\u{FE0F}]?|\u{1F55E}[\u{FE0E}\u{FE0F}]?|\u{1F55F}[\u{FE0E}\u{FE0F}]?|\u{1F560}[\u{FE0E}\u{FE0F}]?|\u{1F561}[\u{FE0E}\u{FE0F}]?|\u{1F562}[\u{FE0E}\u{FE0F}]?|\u{1F563}[\u{FE0E}\u{FE0F}]?|\u{1F564}[\u{FE0E}\u{FE0F}]?|\u{1F565}[\u{FE0E}\u{FE0F}]?|\u{1F566}[\u{FE0E}\u{FE0F}]?|\u{1F567}[\u{FE0E}\u{FE0F}]?|\u{1F56F}[\u{FE0E}\u{FE0F}]?|\u{1F570}[\u{FE0E}\u{FE0F}]?|\u{1F573}[\u{FE0E}\u{FE0F}]?|\u{1F576}[\u{FE0E}\u{FE0F}]?|\u{1F577}[\u{FE0E}\u{FE0F}]?|\u{1F578}[\u{FE0E}\u{FE0F}]?|\u{1F579}[\u{FE0E}\u{FE0F}]?|\u{1F58A}[\u{FE0E}\u{FE0F}]?|\u{1F58B}[\u{FE0E}\u{FE0F}]?|\u{1F58C}[\u{FE0E}\u{FE0F}]?|\u{1F58D}[\u{FE0E}\u{FE0F}]?|\u{1F5B1}[\u{FE0E}\u{FE0F}]?|\u{1F5B2}[\u{FE0E}\u{FE0F}]?|\u{1F5C2}[\u{FE0E}\u{FE0F}]?|\u{1F5C3}[\u{FE0E}\u{FE0F}]?|\u{1F5C4}[\u{FE0E}\u{FE0F}]?|\u{1F5D1}[\u{FE0E}\u{FE0F}]?|\u{1F5D2}[\u{FE0E}\u{FE0F}]?|\u{1F5D3}[\u{FE0E}\u{FE0F}]?|\u{1F5DC}[\u{FE0E}\u{FE0F}]?|\u{1F5DD}[\u{FE0E}\u{FE0F}]?|\u{1F5DE}[\u{FE0E}\u{FE0F}]?|\u{1F5FA}[\u{FE0E}\u{FE0F}]?|\u{1F610}[\u{FE0E}\u{FE0F}]?|\u{1F687}[\u{FE0E}\u{FE0F}]?|\u{1F68D}[\u{FE0E}\u{FE0F}]?|\u{1F691}[\u{FE0E}\u{FE0F}]?|\u{1F694}[\u{FE0E}\u{FE0F}]?|\u{1F698}[\u{FE0E}\u{FE0F}]?|\u{1F6AD}[\u{FE0E}\u{FE0F}]?|\u{1F6B2}[\u{FE0E}\u{FE0F}]?|\u{1F6B9}[\u{FE0E}\u{FE0F}]?|\u{1F6BA}[\u{FE0E}\u{FE0F}]?|\u{1F6BC}[\u{FE0E}\u{FE0F}]?|\u{1F6CB}[\u{FE0E}\u{FE0F}]?|\u{1F6CD}[\u{FE0E}\u{FE0F}]?|\u{1F6CE}[\u{FE0E}\u{FE0F}]?|\u{1F6CF}[\u{FE0E}\u{FE0F}]?|\u{1F6E0}[\u{FE0E}\u{FE0F}]?|\u{1F6E1}[\u{FE0E}\u{FE0F}]?|\u{1F6E2}[\u{FE0E}\u{FE0F}]?|\u{1F6E3}[\u{FE0E}\u{FE0F}]?|\u{1F6E4}[\u{FE0E}\u{FE0F}]?|\u{1F6E5}[\u{FE0E}\u{FE0F}]?|\uA9[\u{FE0E}\u{FE0F}]|\uAE[\u{FE0E}\u{FE0F}]|\u{203C}[\u{FE0E}\u{FE0F}]|\u{2049}[\u{FE0E}\u{FE0F}]|\u{2122}[\u{FE0E}\u{FE0F}]|\u{2139}[\u{FE0E}\u{FE0F}]|\u{2328}[\u{FE0E}\u{FE0F}]|\u{23CF}[\u{FE0E}\u{FE0F}]|\u{24C2}[\u{FE0E}\u{FE0F}]|\u{25B6}[\u{FE0E}\u{FE0F}]|\u{25C0}[\u{FE0E}\u{FE0F}]|\u{260E}[\u{FE0E}\u{FE0F}]|\u{2611}[\u{FE0E}\u{FE0F}]|\u{2618}[\u{FE0E}\u{FE0F}]|\u{2620}[\u{FE0E}\u{FE0F}]|\u{2626}[\u{FE0E}\u{FE0F}]|\u{262A}[\u{FE0E}\u{FE0F}]|\u{2640}[\u{FE0E}\u{FE0F}]|\u{2642}[\u{FE0E}\u{FE0F}]|\u{265F}[\u{FE0E}\u{FE0F}]|\u{2660}[\u{FE0E}\u{FE0F}]|\u{2663}[\u{FE0E}\u{FE0F}]|\u{2668}[\u{FE0E}\u{FE0F}]|\u{267B}[\u{FE0E}\u{FE0F}]|\u{267E}[\u{FE0E}\u{FE0F}]|\u{267F}[\u{FE0E}\u{FE0F}]|\u{2695}[\u{FE0E}\u{FE0F}]|\u{2699}[\u{FE0E}\u{FE0F}]|\u{26C8}[\u{FE0E}\u{FE0F}]|\u{26D1}[\u{FE0E}\u{FE0F}]|\u{26FD}[\u{FE0E}\u{FE0F}]|\u{2702}[\u{FE0E}\u{FE0F}]|\u{270F}[\u{FE0E}\u{FE0F}]|\u{2712}[\u{FE0E}\u{FE0F}]|\u{2714}[\u{FE0E}\u{FE0F}]|\u{2716}[\u{FE0E}\u{FE0F}]|\u{271D}[\u{FE0E}\u{FE0F}]|\u{2721}[\u{FE0E}\u{FE0F}]|\u{2744}[\u{FE0E}\u{FE0F}]|\u{2747}[\u{FE0E}\u{FE0F}]|\u{2757}[\u{FE0E}\u{FE0F}]|\u{27A1}[\u{FE0E}\u{FE0F}]|\u{2B50}[\u{FE0E}\u{FE0F}]|\u{2B55}[\u{FE0E}\u{FE0F}]|\u{3030}[\u{FE0E}\u{FE0F}]|\u{303D}[\u{FE0E}\u{FE0F}]|\u{3297}[\u{FE0E}\u{FE0F}]|\u{3299}[\u{FE0E}\u{FE0F}]|\u{1F004}[\u{FE0E}\u{FE0F}]|\u{1F21A}[\u{FE0E}\u{FE0F}]|\u{1F22F}[\u{FE0E}\u{FE0F}]|\u{1F587}[\u{FE0E}\u{FE0F}]|\u{1F5A5}[\u{FE0E}\u{FE0F}]|\u{1F5A8}[\u{FE0E}\u{FE0F}]|\u{1F5BC}[\u{FE0E}\u{FE0F}]|\u{1F5E1}[\u{FE0E}\u{FE0F}]|\u{1F5E3}[\u{FE0E}\u{FE0F}]|\u{1F5E8}[\u{FE0E}\u{FE0F}]|\u{1F5EF}[\u{FE0E}\u{FE0F}]|\u{1F5F3}[\u{FE0E}\u{FE0F}]|\u{1F6E9}[\u{FE0E}\u{FE0F}]|\u{1F6F0}[\u{FE0E}\u{FE0F}]|\u{1F6F3}[\u{FE0E}\u{FE0F}]|\u{1F1F4}\u{1F1F2}?|\u{1F1F6}\u{1F1E6}?|\u{1F1FD}\u{1F1F0}?|\u{1F46F}\u{200D}?|\u{1F93C}\u{200D}?|\u{1F9DE}\u{200D}?|\u{1F9DF}\u{200D}?)$/u

感谢您的解释,真的很有帮助!但是我似乎无法使您产生的正则表达式正常工作,因为在我尝试的任何地方它都会出错。
luxluxdev
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.