我想用正则表达式验证 QLineEdit 的文本。它应该允许从 a 到 z 的字符加上 A 到 Z 加上土耳其字符(ğüşöçİĞÜŞÖÇ)加上从 0 到 9 的数字。我搜索了我的问题并找到了两个解决方案,但没有一个对我有用。在一种解决方案中,它说“在正则表达式中包含土耳其字符”,而在另一种解决方案中,它说“使用土耳其字符的 unicode”
下面是两个正则表达式
QRegExp exp = QRegExp("^[a-zA-Z0-9ğüşöçİĞÜŞÖÇ]+$");
QRegExp exp = QRegExp("^[a-zA-Z0-9\u00E7\u011F\u0131\u015F\u00F6\u00FC\u00C7\u011E\u0130\u015E\u00D6\u00DC]+$");
上述任何一个正则表达式都不能验证名称“İSMAİL”。我还尝试了仅包含土耳其语字符的文本('ğüşöçİĞÜŞÖÇ'),但无法验证。当我从两个文本中删除“İ”字符时,它们可以被验证。我猜这个问题可能与“İ”字符有关。
我该如何解决这个问题?
注意:我们在项目中使用的是 Qt 4.6.3。