正则表达式删除QT5中的所有unicode表情符号

时间:2017-01-30 13:06:49

标签: regex unicode qt5

我需要从QString中删除所有unicode表情符号,所以我试着写一个正则表达式:

    QRegularExpression uTF8Emojis("([\\xD83D][\\xDE00-\\xDFFF])+");

但是没有检测到任何东西......

1 个答案:

答案 0 :(得分:2)

由于Qt5 QRegularExpression是PCRE驱动的,你可以使用\x{...}符号内的字符的整个代码点,不需要将这些表情符号定义为字节序列:

"[\\x{1F600}-\\x{1F7FF}]+"

您可以使用this online converter:将\uD83D\uDE00-\uD83D\uDFFF粘贴到 JavaScript 字段中,然后点击转换以在中获取正确的代码U + hex 字段。