获取字符之前的所有数字可以通过正则表达式来实现。以下是一个示例代码,可以用于提取字符串中数字之前的所有数字:
import re
def get_numbers_before_string(string):
pattern = r'\d+(?=\D)'
numbers = re.findall(pattern, string)
return numbers
# 示例用法
string = "abc123def456ghi789"
numbers = get_numbers_before_string(string)
print(numbers)
输出结果为:['123', '456']
上述代码使用了正则表达式的零宽正向预查(positive lookahead)来匹配数字之前的所有数字。具体解释如下:
\d+
:匹配一个或多个数字。(?=\D)
:零宽正向预查,表示匹配后面紧跟的字符不是数字(非数字字符)。这样,通过调用re.findall()
函数,可以获取到字符串中所有数字之前的数字。
请注意,这只是一个示例代码,实际应用中可能需要根据具体需求进行适当的修改。
领取专属 10元无门槛券
手把手带您无忧上云