python - 如何在 python 中使用正则表达式从字符串中提取数字和点?
问题描述
我正在尝试从 python3 中的字符串中提取数字和点,但没有成功。实际上我尝试使用正则表达式搜索功能,但我只得到第一个数字而不是点和后面的数字。这是我的测试示例
string = "CDS complement(129..1049)"
print(int(re.search(r'\d+', string).group()))
129
但实际上我想得到:
129..1049
我还尝试通过以下方式改进我的代码:
print(int(re.search(r'\d+\.\.\d+', line).group()))
但我收到此错误:
ValueError: invalid literal for int() with base 10: '129..1049'
你能帮助我吗?
提前致谢。
解决方案
您的正则表达式工作正常。re.search(r'\d+\.\.\d+', line)
返回'129..1049'
,因此当您尝试将该字符串传递给 时int()
,它会失败。您必须首先手动split
将字符串分成两个整数部分。
推荐阅读
- javascript - 如何提高 HTML 画布绘制像素的性能
- excel - 如果数据库中的行太多(复制/粘贴/计算/复制/粘贴值),宏将停止运行
- thingsboard - ThingsBoard 安装失败!在 Ubuntu 上
- html - 在多个 SVG 元素中管理相同的字体大小
- swift - Swift 5 - Facebook 登录:LoginManager() 回调不会在安装 Facebook 应用程序的情况下调用
- r - 如何在现有数据框中保存 H2O.GBM 的预测值?
- html - 如何在 div 元素 (HTML) 中居中图像
- c - 从字符串链表中删除一个字符串
- javascript - 为什么我不能用 JavaScript 函数覆盖这个 CSS?
- ios - 是什么让 UITableView 表现得像这样