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