python - 正则表达式在迭代dict时只从字符串中检索数字?
问题描述
我试图2019/2020 (dddd/dddd)
从一个看起来像这样的字符串中检索以下内容FA WSL Cup Season 2019/2020
。共同的因素是所需的内容总是排在最后。所以在迭代时我想通过使用正则表达式来提取它,但我不知道任何正则表达式。所以下面的伪示例:
for i in cont.values():
label = PERFROM REGEX ON i['label']
season_info[abbreviation] += [APPEND REGEX VERSION]
非常感谢,
解决方案
以下是使用 RegEx 提取此类数据的方法:
import re
result = re.findall( r'(\b(\d{4}/\d{4}\b)', 'FA WSL Cup Season 2019/2020')
print(result)
输出
['2019/2020']
让我为您分解解决方案:
\b指的是分词,适用于空格和行尾。
\d表示任何数字(任何数字)。{4}表示我想要 4 个数字(一个接一个,重复 4 个)
。/
将只是分隔两个 4 位数字组的字符。
使用()我指示 RegEx 这将是我要提取的组。
我还建议使用在线 RegEx 测试器来学习并测试您的正则表达式。
这是我使用的两个示例:
这是我觉得非常棒的初学者课程:
推荐阅读
- php - WooCommerce:检查订单是否免费送货
- node.js - 预加载在生产中无法正常工作/编译(Electron-vue SimulatedGREG)
- sqlite - 与 Flutter/Sqlite 的一对多关系
- javascript - 如何对具有类的每个元素执行js函数
- time-complexity - 这个斐波那契解的时间和空间复杂度
- laravel - Laravel - 将集合嵌套到父键中
- jquery - 如何从按钮组访问每个按钮的 id - jQuery?
- html - 垂直菜单总是在 wordpress 中打开
- java - 在 Android Studio 中使用匹配约束时,有没有办法指定 ImageView 的比例?
- javascript - 信息在 Redux 商店提供之前被渲染?