QRegExp regexpsplineedit("[a-zA-Z0-9\\_\\[\\]\\(\\)]{20}");
qlineedit->setValidator(new QRegExpValidator(regexpsplineedit,this));
这项工作 而这不是:
if(clipboardtext.contains(QRegExp("[a-zA-Z0-9\\_\\[\\]\\(\\)]{20}")))
但是这是的:
if(clipboardtext.contains(QRegExp("[a-zA-Z0-9\\_\\[\\]\\(\\)]")) && clipboardtext.length() <= 20)
为什么输入相同的文字会发生这种情况?
答案 0 :(得分:0)
您是否验证字符串的长度是否小于或等于20?或者该类中至少有1个字符存在且总长度是否小于或等于20?这是两个单独的验证步骤。否则,它只是^[chars]{1,20}$
- SLN