礼仪表达奇怪的行为

Regual expression strange behavior

本文关键字:仪表      更新时间:2023-10-16
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)

为什么输入相同的文本会发生这种情况?

您是否验证字符串的长度小于或等于 20?或者该类中至少存在 1 个字符并且总长度小于或等于 20?这是 2 个单独的验证步骤。否则,它只是^[chars]{1,20}$ – 斯兰尼