我正在使用" numbr"替换数据源中的所有数字。一些例子是
我尝试过使用re.sub(r'(\ d + [/ - ] * \ d +)(R?)'," numbr",token)但它不是正确地替换示例1。我缺少什么想法?
答案 0 :(得分:5)
(?:\d-\d|\d)+
可以使用另一个替代(?:\d(?:-\d)?)+
,但需要一个额外的步骤才能完成。
1234-546-234235-1232-1242-123124
125436
abc1231241
numbr
numbr
abcnumbr
(?:\d-\d|\d)+
匹配以下任意一次或多次
\d-\d
匹配一个数字,后跟一个连字符-
,后跟一个数字\d
匹配数字使用(?:\d-\d|\d)+
代替[\d-]+
的原因是我们不会意外地替换有效的带连字符的字词,以使my-name
之类的内容变为mynumbrname
或{{1 }}不会成为abc-1234
,而是成为abcnumbr