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

Handling accented letters in QRegularExpressions in Qt5

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

所有国际字符

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

所以问题是,我是否必须详尽列出所有这些重音字符,或者是否有某种可以使用的 "word class",让我相信 Qt 会为我提供更新的列表?

最好的方法是什么?

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

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

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

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

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

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