在正则表达式中,可以使用负向零宽断言来排除匹配负整数的情况。下面是一个示例代码,使用正则表达式匹配非负整数:
import re
pattern = r"^(?!-)\d+$"
numbers = ["123", "-456", "789", "-123"]
for number in numbers:
if re.match(pattern, number):
print(f"{number} 是非负整数")
else:
print(f"{number} 不是非负整数")
输出结果:
123 是非负整数
-456 不是非负整数
789 是非负整数
-123 不是非负整数
在上述代码中,正则表达式 ^(?!-)\d+$
使用了负向零宽断言 (?!-)
,表示在匹配整数的时候排除以负号开头的情况。 \d+
匹配一个或多个数字字符, ^
和 $
分别表示字符串的开头和结尾。
因此,通过这个正则表达式,可以匹配非负整数,而排除了负整数的情况。