2013-08-28 52 views
0

我試圖驗證進入QLineEdit,並且我的語法在某處出錯,因爲當我運行我的程序時,它不允許我在編輯框中輸入任何內容。該條目需要3個大寫字母字符,接着是1,2或3,然後是另外2個數字,然後是一個最終字符字母或數字。Qt Validator正則表達式

QRegExp StudentForm::modCodeFormat("(\\s{3}\\d[123]\\d{2}\\w{1})"); 

回答

4
(\\s{3}\\d[123]\\d{2}\\w{1}) 
^ ^ ^ ^
    This mat|ches wh|ite s|pace characters, not uppercase alphabetics 
      |  |  | 
     This match|es a |number then either a 1, 2 or a 3 
        |  | 
       This mat|ches two numbers 
         | 
        This matches a single word characters, that is either a single number, uppercase, lowercase or an underscore _ character 

相反,你應該使用:

^[A-Z]{3}[123][0-9]{2}[a-zA-Z0-9]$