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 QPlainTextEdit class, 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 "[^a-z,A-z]+".