我有一种情况,我只需要数字和破折号,就像2007-24。我知道如何使用正则表达式来替换数字,但是除了数字之间的破折号之外,如何对所有字母进行正则表达式。
输入:“已关闭的订单编号2007-24”
re.sub("[/-/^0-9/-]", '', self.text, flags=re.M)发布于 2020-07-05 17:09:54
您可以使用
re.sub(r'(\d+-\d+)|.', r'\1', self.text, flags=re.S)请参阅regex demo
正则表达式详细信息
(\d+-\d+) -组1:一个或多个数字,字符组- digits| - or. - - 1+ \1是对组1值的反向引用(以将其保留在结果中)。
请参阅Python demo
import re
s = "CLOSED ORD NO 2007-24"
print( re.sub(r"(\d+-\d+)|.", r'\1', s, flags=re.S) )
# => 2007-24https://stackoverflow.com/questions/18477703
复制相似问题