Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
QRegExp doesn't see \n character
yutkin last edited by yutkin
I'm trying to handle QPlainTextEdit input:
auto text = ui->textEdit->toPlainText().toLower(); auto regexp = QRegExp("[^0-9\\s\\n]"); text.replace(regexp, ""); ui->textEdit->setPlainText(text);
It should accepts only digits, space character and transition to new line (\n). It works for digits and space character but when I'm trying to press enter for new line - nothing happens. How can I fix it?
JohanSolo last edited by
What OS and Qt version are you using?
On windows the end-of-line (EOL) marking is done by
\r\n, although I'm not sure how it is done in the
QPlainTextEditclass, but it may worth to give a try.
IIRC QRegExp should be replaced QRegularExpression in recent code, but I don't think this is the problem.
And I'm not sure about the regex you posted: the caret should negate the content of the class, therefore matching any character not being a number or a spacing, resulting in exactly the opposite.
If you basically basically want to reject any string containing a letter, then you could try to reverse your regex to