python正则表达式re.compile和re.search

python正则表达式re.compile和re.search,python,regex,Python,Regex,我希望结果为123,但它返回为空。 怎么了?您需要另一个量词,即a+: 产生 import re real_comp = re.compile(r'([0-9]+)') print(real_comp.search('+123i').group()) 否则,正则表达式引擎会在第一次使用的字符[0-9]*始终为真之前报告匹配。您正在搜索零位或更多位的子字符串。字符串+123i确实在一开始就包含这样一个子字符串,长度为零。您可能想要+一个或多个,而不是* import re real_comp

我希望结果为123,但它返回为空。
怎么了?

您需要另一个量词,即a+:

产生

import re

real_comp = re.compile(r'([0-9]+)')
print(real_comp.search('+123i').group())

否则,正则表达式引擎会在第一次使用的字符[0-9]*始终为真之前报告匹配。

您正在搜索零位或更多位的子字符串。字符串+123i确实在一开始就包含这样一个子字符串,长度为零。您可能想要+一个或多个,而不是*
import re

real_comp = re.compile(r'([0-9]+)')
print(real_comp.search('+123i').group())
123