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

标签 python regex

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

相关文章:

Python: "import JSON... json.loads(request.body)"2.7->3.4

python - 交叉匹配两个列表

python - QTableView按UserRole对列数据进行排序

javascript - 如何使用 ".replace()"和 ".html()"将明文转换为图像标签?

javascript - 在 PHP 中使用正则表达式按字母顺序对字母进行排序

javascript - 什么时候需要转义正则表达式字符集中的字符([] 内)?

regex - 如何在代码中编写正则表达式

python - 刷新 GAE 中的输出?

python - Django Admin - 默认情况下授予员工访问某些区域的权限

python - 改进机器人正则表达式