希望利用正则表达式匹配字符串中的表情符号,例如,字符串为:"abc😀defg😎f😎😀",我希望可以分别匹配出😀和😎表情符。
如果我使用如下方式:
let inputString = `abc😀e😎f😎😀`;
let emojiRegex = /😀|😎/g;
let match = emojiRegex.exec(inputString);
console.log('emojis: '+match);
匹配不上表情符,match返回的是null。
如果我将表情符转成Unicode码,如下:
let emojiRegex = /[\u{1F600}]/u;//😀
let match = emojiRegex.exec(inputString);
console.log('emojis: '+match);
则可以匹配上。
我使用的开发工具是:Build Version: 5.0.3.900
在web的TypeScript环境下,表情符不需要转成Unicode码就可以匹配,为啥到了ArkTS环境下还需要转一下啊?
谁能给解释一下为什么和TypeScript不一样呢?在ArkTS下只有转Unicode码这一条路么?
本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。
推荐参阅:如何正则匹配非基本多语言平面字符?如:表情
https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V...