第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

為什么 Unicode 表情符號(hào)屬性轉(zhuǎn)義匹配數(shù)字?

為什么 Unicode 表情符號(hào)屬性轉(zhuǎn)義匹配數(shù)字?

楊__羊羊 2023-05-19 17:00:17
我發(fā)現(xiàn)這種使用Unicode 屬性轉(zhuǎn)義的不使用“巨大魔法范圍”的正則表達(dá)式來(lái)檢測(cè)表情符號(hào)的絕妙方法:console.log(/\p{Emoji}/u.test('flowers???????'))?//?true console.log(/\p{Emoji}/u.test('flowers'))?//?false注意到它\p{Emoji}也匹配數(shù)字!這是為什么?數(shù)字不是表情符號(hào)?console.log(/\p{Emoji}/u.test('flowers 123')) // unexpectdly true// regex-only workaround by @Bonzdragonconst regex = /(?=\p{Emoji})(?!\p{Number})/u;console.log(? regex.test('flowers'), // false, as expected? regex.test('flowers 123'), // false, as expected? regex.test('flowers 123 ??????'), // true, as expected? regex.test('flowers ??????'), // true, as expected)// more readable workaroundconst hasEmoji = str => {? const nbEmojiOrNumber = (str.match(/\p{Emoji}/gu) || []).length;? const nbNumber = (str.match(/\p{Number}/gu) || []).length;? return nbEmojiOrNumber > nbNumber;}console.log(? hasEmoji('flowers'), // false, as expected? hasEmoji('flowers 123'), // false, as expected? hasEmoji('flowers 123 ??????'), // true, as expected? hasEmoji('flowers ??????'), // true, as expected)
查看完整描述

1 回答

?
慕少森

TA貢獻(xiàn)2019條經(jīng)驗(yàn) 獲得超9個(gè)贊

digtis、、、#ZWJ*和更多字符包含Emoji設(shè)置為Yes 的屬性,這意味著數(shù)字被認(rèn)為是有效的表情符號(hào)字符


0023? ? ? ? ? ; Emoji_Component? ? ? #? 1.1? [1] (#?)? ? ? ?number sign

002A? ? ? ? ? ; Emoji_Component? ? ? #? 1.1? [1] (*?)? ? ? ?asterisk

0030..0039? ? ; Emoji_Component? ? ? #? 1.1 [10] (0?..9?)? ? digit zero..digit nine

200D? ? ? ? ? ; Emoji_Component? ? ? #? 1.1? [1] (?)? ? ? ? zero width joiner

20E3? ? ? ? ? ; Emoji_Component? ? ? #? 3.0? [1] (?)? ? ? ?combining enclosing keycap

FE0F? ? ? ? ? ; Emoji_Component? ? ? #? 3.2? [1] ()? ? ? ? VARIATION SELECTOR-16

1F1E6..1F1FF? ; Emoji_Component? ? ? #? 6.0 [26] (??..??)? ? regional indicator symbol letter a..regional indicator symbol letter z

1F3FB..1F3FF? ; Emoji_Component? ? ? #? 8.0? [5] (??..??)? ? light skin tone..dark skin tone

1F9B0..1F9B3? ; Emoji_Component? ? ? # 11.0? [4] (??..??)? ? red-haired..white-haired

E0020..E007F? ; Emoji_Component? ? ? #? 3.1 [96] (??..??)? ? ? tag space..cancel tag

例如,是一個(gè)數(shù)字,但與和字符1組合時(shí)變成表情符號(hào):1??:U+FE0FU+20E3


console.log("1\uFE0F\u20E3 2\uFE0F\u20E3 3\uFE0F\u20E3 4\uFE0F\u20E3 5\uFE0F\u20E3 6\uFE0F\u20E3 7\uFE0F\u20E3 8\uFE0F\u20E3 9\uFE0F\u20E3 0\uFE0F\u20E3")

如果要避免匹配數(shù)字,請(qǐng)使用Extended_PictographicUnicode 類


查看完整回答
反對(duì) 回復(fù) 2023-05-19
  • 1 回答
  • 0 關(guān)注
  • 194 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)