Python 正则表达式 : Reject one two-digit number and accept other two-digit numbers

标签 python regex

如何使正则表达式不匹配超过 2 位数的特定数字。例如除 13 以外的任何数字。下面的第二行代码将无法匹配 10、11...,第三行将查找不以 1 开头但具有 3 的数字:

str = 'val=13'

regex = 'val=[^1][^3]'
regex = 'val=[^13]

re.search(regex, str)

最佳答案

使用先行断言:

In : re.findall('val=(?!13$)(\d{2,})', 'val=12') 
Out: ['12']

In : re.findall('val=(?!13$)(\d{2,})', 'val=13') 
Out: []

关于Python 正则表达式 : Reject one two-digit number and accept other two-digit numbers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5789740/

相关文章:

python - 如何使用复杂的条件以有效的方式在 Pandas 中逐列填充?

regex - 带增量的小时的正则表达式 (RegEx)

电子邮件 ID 的正则表达式,在 @ 符号后只允许特定数量的点 (1-5)

regex - 将匹配的正则表达式复制到新文件

python - 具有可散列键的自定义字典无法处理递归结构

python - 更改 tkhtmlview.HTMLLabel 的背景

python - 如何通过关系字段的属性过滤 Django 模型?

Java正则表达式保留特定的结束标签

regex - 如何使用 Spark 读取自定义多行日志

python - Python 上的 Gurobi 优化器