python正则表达式匹配任一个

时间:2015-08-09 23:49:46

标签: python regex

我想创建validNumber正则表达式,但是如何处理数字" .digit" (例如,' .2')案例?

import re
m = '[-|+]?[[\.\d+]|[\d+\.?\d*]]'

re.findall(m, '.2')

返回['.', '2'],预期['.2']

1 个答案:

答案 0 :(得分:0)

我认为'[-|+]?(\.\d+|\d+\.?\d*)'会错过负数;假设操作符需要 - 和+作为匹配的一部分,'[+|-]*\d*\.?\d+'可能会更好用:

>>> m = '[+|-]*\d*\.?\d+'
>>> re.findall(m,'.2 fun stuff-13t 34.5s 234.')
['.2', '-13', '34.5', '234']