+
- особый символ. Вы можете использовать скобки для указания диапазона символов, который лучше, чем при использовании «или» с характером трубы в этом случае .:
regex = r'([+-])?\d*\.?\d*'
В противном случае, вам просто нужно, чтобы избежать его в оригинальной версии:
regex = r'(\+|-)?\d*\.?\d*'
Использования r
является предпочтительным способом определения регулярного выражения строки в Python, потому что это указует на сырую строку, которая не должно быть интерпретирована и уменьшает количество вытекающего необходимо выполнить с обратными косой чертой. Это просто идиома регулярного выражения python, которую вы увидите повсюду.
r'(\+|-)?\d*\.?\d*'
#'(\\+|-)?\\d*\\.?\\d*'