我要替换0-85之间的数字。现在我有0-89。
subject = re.sub(r'([0-8] \ w%?)','',subjectext)
当我做subject = re.sub(r'([0-8] [0-5]%?)','',subjectext)
正则表达式中断。
最佳答案
尝试这样的模式:
[1-7]?[0-9]|8[0-5]
这将匹配由1到7的可选数字,0到9的数字或8以及0到5的数字组成的任何字符串。
如果您需要包括一个可选的
%
符号(虽然没有明确要求,但您的模式似乎表明您可能需要它),请使用以下命令:([1-7]?[0-9]|8[0-5])%?
但是,以上代码将在较大的字符串(例如
9
)内匹配字符串(例如92
)。如果您不希望这样做,则可能要考虑使用环视方法来确保匹配的子字符串前面没有其他数字,或者后面没有其他数字,例如:(?<!\d)([1-7]?[0-9]|8[0-5])%?(?!\d)