1
fan2006 OP 自己研究写了一个出来。python 3
re.findall(r'[一-龥]+(?<!数量)(\d+)','数量 123 单价 45 金额 5535') 结果: ['45', '5535'] |
2
no1xsyzy 2018-12-28 12:41:57 +08:00 1
因为匹配了 “数量 1 ”
re.findall(r'(?<!数量)\s(\d+)','数量 123 单价 45 金额 5535') |
4
nekoneko 2018-12-28 13:25:53 +08:00
数量和\d 中间加个空格试试
|
7
imn1 2018-12-28 13:52:14 +08:00
空格是 V2 后台加的么?
python 的 re.findall 总有难以预想的情况 正常理解,「(?<!数量)\d+」和「(?<!数量)(\d+)」是一样的,似乎 python 里面有优先级的区别 |