python - 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']
解决方案
请尝试以下正则表达式。这将采用非数字包围的数字。
(?<=\D)(\d{3,4})(?=\D)
编辑:用于re.findall(r"(?:\D|^)(\d{3,4})(?:\D|$)",text)
匹配可能出现在行首和行尾的数字。
推荐阅读
- amazon-web-services - 将 EBS 卷映射到 Jenkins Home 以进行 Packer 构建
- javascript - 带有新元素的 Nodemailer
- ruby-on-rails - CounterCache 不适用于多态关联
- c++ - 如何使用线程类编译 cpp 文件?
- c++ - 展开可变参数模板结构
- angularjs - 具有不同保存选项的 Angular MaterialJS 对话框表单
- php - 如何在不使用 markdown 的情况下将纯文本版本添加到 Laravel 电子邮件
- smtp - Msmtprc SMTP 与 Office365
- python - pyswagger 中的解析错误:ValueError: Can't resolve type from:(String, )
- c - C中的指针及其值