我如何在 Qt 中使用 QRegularExpression

how do I use QRegularExpression in Qt

我搜索了(难以置信的时间)Qt 文档和其他一些在线文档,但找不到答案。

我正在使用 QLineEdit,它会接受 "C++ class name"(这意味着它应该只接受 [a-b](<-大写)、[0-9] 和下划线 (_)。否无论我如何(盲目地)尝试设置它,它都不起作用。

1 m_classDefLayout->addRow("Class Name",m_className);
2 m_className->setValidator(m_nameValidator);
3 m_nameValidator->setRegularExpression(*m_nameRegExp);
4 //m_namePattern=();
5 m_nameRegExp->setPattern(m_namePattern);

我要在第 4 行的括号中插入什么?我不是要复制和粘贴代码。一些例子(即使是一个解释得很好的例子)可以帮助我,所以我最终会完成我的项目。

因为不知道你代码中的数据类型,所以只写了一个简单的示例代码。

QRegularExpression rx("^[A-Za-z_][A-za-z0-9]*");
QValidator *validator = new QRegularExpressionValidator(rx, this);

ui.lineEdit->setValidator(validator);

如果您阅读下面link,您将准确理解。

link for ^(caret)

link for *(asterisk)