我正在接受用户全名的输入QLineEdit
,我想接受
所有国际字符
例如法语中的“é”或挪威语中的“æ”、“ø”和“å”,同时QRegularExpressionValidator
用于确保名称实际上是有效名称(没有非字母字符)。
所以问题是,我是否必须详尽地列出所有这些重音字符,或者是否有某种可以使用的“词类”,让我相信 Qt 会为我提供更新的列表?
最好的方法是什么?
我正在接受用户全名的输入QLineEdit
,我想接受
所有国际字符
例如法语中的“é”或挪威语中的“æ”、“ø”和“å”,同时QRegularExpressionValidator
用于确保名称实际上是有效名称(没有非字母字符)。
所以问题是,我是否必须详尽地列出所有这些重音字符,或者是否有某种可以使用的“词类”,让我相信 Qt 会为我提供更新的列表?
最好的方法是什么?
是的,有一个\p{L}
Unicode 类别类可以匹配所有 Unicode 基本字母。
这将匹配 1 个或多个字母块:
QRegularExpression re("\\p{L}+");
所有大写字母变体:\p{Lu}
所有小写字母变体:\p{Ll}
有关详细信息,请参阅Unicode 类别。