有什么方法可以使用ICU4C检查字符串是否绝对是emoji表情?具体根据这些规范:
https://youtrack.jetbrains.com/issue/KT-30784
我可以使用此处提到的正则表达式或ebnf模式扫描可能的表情符号,但根据规则进行验证仍然是一个问题。
可以从这些EBNF规则生成正则表达式,如下所示。尽管此正则表达式可能看起来很复杂,但它比定义所产生的结果要简单得多。直接使用这些定义将导致正则表达式的表达复杂很多倍,但仍然需要使用有效性测试进行验证。
\p{RI} \p{RI}
| \p{Emoji}
( \p{EMod}
| \x{FE0F} \x{20E3}?
| [\x{E0020}-\x{E007E}]+ \x{E007F} )?
(\x{200D} \p{Emoji}
( \p{EMod}
| \x{FE0F} \x{20E3}? )?)+