BUG: read_csv not recognizing numbers appropriately when decimal is set
- [x] closes #31920
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

The old regex was shorter but pretty buggy.

Let's assume ``decimal=","`` and ``thousands="."``

For example something like ``1a.2,3`` was interpreted as numeric by the regex and converted to ``1a2.3``, because the ``.`` was not escaped in the regex.
Also something like ``1,2,3`` was interpreted as numeric by the regex and converted to ``1.2.3``. 

This one is not quite finished. We have to define a few thousand separator related things:

How strict would we want to be? Should ``1.2,3`` be interpreted as numeric and be converted to ``12.3`` or is only something like ``1.234,5`` relevant as thousands separator? C Engine validation is not strict
Additionally should ``,2`` be the number ``0.2``? -> Currently it is, because the C engine behaves the same
Hello @phofl! Thanks for updating this PR. We checked the lines you've touched for [PEP 8](https://www.python.org/dev/peps/pep-0008) issues, and found:





There are currently no PEP 8 issues detected in this Pull Request. Cheers! :beers: 

##### Comment last updated at 2021-01-01 22:36:56 UTC great ping on green (suggestion to combine the python/c tests as a followup) @jreback green thanks @phofl if you can do a PR or issue for the followup would be great Will open an issue. Hopefully I will be able to get back to this in the coming days Opened #38926 