在Qt5中处理QRegularExpressions中的重音字母

时间:2016-06-23 20:29:40

标签: c++ regex validation qt5 qregularexpression

我接受使用QLineEdit的用户全名输入,我想接受

所有国际字符

例如法语中的“é”或挪威语中的“æ”,“ø”和“å”,同时使用QRegularExpressionValidator来确保名称实际上是有效名称(不是非 - 字符)。

所以问题是,我是否必须详尽地列出所有这些重音字符,或者是否有某种可以使用的“单词类”,这使我能够信任Qt为我提供更新列表?

最好的方法是什么?

1 个答案:

答案 0 :(得分:2)

是的,有一个\p{L} Unicode类别类将匹配所有Unicode基本字母。

这将匹配1个或多个字母块:

QRegularExpression re("\\p{L}+");

所有大写字母变体:\p{Lu}

所有小写字母变体:\p{Ll}

有关详细信息,请参阅Unicode categories