maple412 发表于 2014-12-18 11:21

正则表达式出错

ret=re.compile(r'(\d+\.?\d*),([-+\*])')   #根据数字或者运算符号来进行匹配
input='1+2+3'
ret.match(input)
但最后ret.match的结果为None,各位看下什么原因呢?

murdercool 发表于 2014-12-18 12:15

ret=re.compile(r'(\d+\.?\d*),([-+\*])')是不是多写各个逗号?

richyhuang 发表于 2014-12-18 14:42

是啊,分组中间没有逗号的.

jcdiy0601 发表于 2014-12-18 15:24

本帖最后由 jcdiy0601 于 2014-12-18 15:28 编辑

回复 1# maple412

要是就匹配'1+2+3'
\d\+\d\+\d就行了
你给的数据太少了

wenhq 发表于 2014-12-20 09:55

这个正则写的是啥意思呢?

wenhq 发表于 2014-12-20 09:55

这个正则写的是啥意思呢?

inpool 发表于 2014-12-25 08:45

>>> ret = re.compile(r'(\d+(\.\d+)?)([+\-*/](\d+(\.\d+)?))*')
>>> s = '1+2+4.3+6.0'
>>> r = ret.match(s)
>>> r.group(0)
'1+2+4.3+6.0'
页: [1]
查看完整版本: 正则表达式出错