Skip to main content
 首页 » 编程设计

python之正则表达式仅捕获 0 到 85

2025年05月04日24youxin

我想替换 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)