正则表达式RegExp匹配字符串表情符号?

希望利用正则表达式匹配字符串中的表情符号,例如,字符串为:"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 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。

阅读 711
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进