嘿伙計們,我正在嘗試在 QT 中使用正則運算式進行在線編輯,但是當我使用正則運算式時,當我在鍵盤上輸入回傳鍵時,一個功能不再起作用!
這是我的正則運算式在線編輯:
QRegularExpression r("[0-9\\.\\ \\-\\=\\/\\*\n]{100}");
ui->lineEdit->setValidator(new QRegularExpressionValidator (r,this));
這是我的功能測驗:
void MainWindow::on_lineEdit_returnPressed()
{
on_pushButton_14_clicked();
}
我也嘗試沒有 "\n" 的正則運算式,但沒有改變任何事情。當我評論正則運算式時,我的函式作業正常。
那么有什么解決辦法嗎?
uj5u.com熱心網友回復:
您的正則運算式需要支持長度為 1 的模式,因此,{100}量詞應替換為{1,100}甚至{0,100}。
此外,您還\r可以在字符集中添加(回車)字符,并洗掉不必要的轉義:
QRegularExpression r("^[0-9. =/*\n\r-]{1,100}$");
我添加了^和$錨點以確保正則運算式只匹配整個字串(這里是行)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/339592.html
下一篇:C中OO繼承的別名問題
