【发布时间】:2020-08-01 10:00:10
【问题描述】:
由下面的 npinti 回答。 C# 的答案在“类似问题”中根本没有帮助。
所以我有以下正则表达式。我也尝试了不同的变体,但不幸的是它不起作用。
所以如果我有以下字符串并想提取23, 22 and 38。
但我不希望它提取用连字符分隔且没有负数的数字:-。
string = 'Have to find 23, but not 44-58 and definitely not 88-99 but do find 22 & 38'
my_regex = re.compile(r'(\d+)|^((?![0-9]+[^-]^[0-9]+).)*$', flags=re.I)
print(my_regex.findall(string))
这基本上没有返回任何有用的东西。
【问题讨论】:
-
您要查找的正是 23、22 和 38?如果没有,你能说得更具体些吗?
-
你的正则表达式显示什么输出?
-
负数(即
this number -25 is negative)呢? -
是的,我想准确找到 23,22 和 38,因为它们是独立数字,没有负数