我想替换 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)
关于python - 正则表达式仅捕获 0 到 85,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22023480/