python - 有没有办法使用正则表达式从输入中获取一个或多个变量?
问题描述
假设我有一个程序有这样的输入
字符串28东西8字2000
我想获取嵌入字符串的日期,这样我就可以得到:
day = 28
month = 8
year = 2000
如何使用正则表达式实现这一点?
8 月不能明确表示数字,也可以写成“八月”。
这不是没有选项的标记为重复项的情况。
如果我得到一个包含以下内容的列表:
字符串28字2000 年8月
使用该解决方案,我只能得到[28, 2000]
,如果数字等于或小于 12,则无法知道它是一个月还是一天。
解决方案
您可以使用re.findall
:
s = 'string28something8words2000'
day, month, year = map(int, re.findall('\d+', s))
推荐阅读
- android - onTouch:在不阻塞其他触摸事件的情况下检测 ACTION_UP
- git - git subtree 命令将文件添加到父树
- rust - 如何在 Rust 中将 read_line() 的结果作为字符串获取?
- sql - 将多个简单查询转换为一个?
- docker - 将 docker 容器持续交付到 Google Cloud
- basic - Visual Basic 创建循环以计算偶数
- javascript - 使用键盘后 InsertText 功能不起作用
- python - Google Cloud Datastore Emulator 不使用默认凭据
- c++ - 应该翻转数字的程序的输出不正确
- amazon-web-services - ECS容器代理docker容器日志如何处理?