首页 > 解决方案 > python re字符串长度(3-4)最大

问题描述

我只需要从文本中提取任何 3 或 4 个连续数字,不再需要,这是一个示例

text = 'abc 123\n ab3245ss a234234234234\n 12'

我正在尝试这个:

re.findall(r'\d{3,4}', text)

我所期待的:

['123', '3245']

我得到了什么:

['123', '3245', '2342', '3423', '4234']                              

标签: pythonregex

解决方案


请尝试以下正则表达式。这将采用非数字包围的数字。

(?<=\D)(\d{3,4})(?=\D)

演示

编辑:用于re.findall(r"(?:\D|^)(\d{3,4})(?:\D|$)",text)匹配可能出现在行首和行尾的数字。


推荐阅读