QLineEdit의 텍스트를 정규 표현식으로 검증하려고합니다. 그것은 ~에서 Z까지 플러스 A부터 Z 플러스 터키어 문자 (ğüşöçİĞÜŞÖÇ) 플러스 0에서 9까지의 숫자를 허용해야합니다. 내 문제에 대해 봤 거든 두 솔루션을 발견했지만 둘 다 나를 위해 일한. 그것이 말하는 하나 개의 솔루션에서이 "터키어 문자의 사용 unicodes"Qt 정규 표현식의 터키어 문자
아래는 두 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]+$");
어느 reqular 표현 중 하나가 위의 유효성을 검사 할 수 있습니다 말한다 다른 하나의 "정규 표현식 터키 문자를 포함" 이름 'İSMAİL'. 또한 터키어 문자 ('ğüşöçİĞÜŞÖÇ') 만 포함 된 텍스트를 시도했지만 유효성을 확인할 수는 없습니다. 두 텍스트에서 '©'문자를 제거하면 유효성을 검사 할 수 있습니다. 문제는 'İ'캐릭터와 관련이있을 것 같습니다.
어떻게 문제를 해결할 수 있습니까?
참고 : 우리 프로젝트에서 Qt 4.6.3을 사용하고 있습니다.
원본 제안을 보면, 내가 시도한 모든 regex matcher에서'^ [a-zA-Z0-9ğüşöçİĞÜŞ] + $'이 잘 작동한다 (예 : http://www.regex101.com/r/gR2xB2) . 문제가 다른 곳에 없다고 확신합니까? – mart1n