python - 正则表达式匹配组
问题描述
我知道这是一个非常简单的正则表达式问题,但我仍然无法匹配它。
需要匹配的字符串是"10K-50K"
我想使用正则表达式从字符串中提取 10 和 50。
In [6]: data = "10K-50K"
In [7]: data1 = re.match(r'([\d][A-Z])-([\d][A-Z])',data)
但是,它总是返回一个Nonetype
.
我对正则表达式语法感到困惑,希望有人可以帮助我。
解决方案
尝试这样的事情:
import re
data = "10K-50K"
str_tokens = re.match(r'([0-9]*)[a-zA-Z]-([0-9]*)[a-zA-Z]', data).groups()
int_tokens = [int(token) for token in str_tokens]
print(str_tokens, int_tokens)
输出:
('10', '50') [10, 50]
推荐阅读
- html - 如何允许图像宽度超过它所在的 div 的宽度
- android - 在所有屏幕中,用户界面显示衬里和灰色
- firebase - 如何使用 firebase 重置默认项目托管?
- java - INSERT 查询适用于 SQL,但不适用于 android 应用程序
- telegram - Telethon ID 的唯一性
- ios - Xcode 意外的 http 状态码 402 (-1)
- bash - 在 git hook 中添加多行消息
- ssh - 通过远程访问收集网络
- php - 如何使用 php 5 全局变量作为函数参数?
- tensorflow - 运行 pip 时,如何使用 Tensorflow-gpu 更正 setuptools 版本错误?