1

有什么方法可以使用 ICU4C 来检查字符串是否绝对是表情符号?具体根据这些规范:

http://www.unicode.org/reports/tr51/tr51-15.html

我可以使用那里提到的正则表达式或 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}? )?)+
4

0 回答 0