Chcę zweryfikować tekst QLineEdit za pomocą wyrażenia regularnego. Powinno zezwalać na znaki od a do z plus A do Z plus tureckie postacie (ğüşöçİĞÜŞÖÇ) plus cyfry od 0 do 9. Przeszukiwałem mój problem i znalazłem dwa rozwiązania, ale żaden z nich nie działał dla mnie. W jednym rozwiązaniu mówi „zawierać znaki tureckie w regexp”, aw drugim mówi „Używaj kody Unicode znaków Turecka”Qt Tureckie znaki w wyrażeniach regularnych
Poniżej są dwa wyrażenia reqular
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]+$");
żadne z wyrażeń reqular powyżej może sprawdzić nazwa "İSMAİL". Próbowałem również, że tekst zawiera tylko znaki tureckie ("ğüşöçİĞÜŞÖÇ"), ale nie można go zweryfikować. Po usunięciu znaku "İ" z obu tekstów można je zweryfikować. Myślę, że problem może być związany z charakterem "İ".
Jak mogę rozwiązać problem?
Uwaga: W naszym projekcie używamy Qt 4.6.3.
Patrząc na twoją pierwotną sugestię, '^ [a-zA-Z0-9ğüşöçİĞÜŞÖÇ] + $' działa dobrze dla mnie we wszystkich wyrażeń próbnych regex, które wypróbowałem (eg: http://www.regex101.com/r/gR2xB2) . Jesteś pewien, że problem nie jest gdzie indziej? – mart1n