繁体   English   中英

如何在 python 中使用正则表达式从字符串中提取数字和点?

[英]How can I extract number and dots from a string using regex in python?

我正在尝试从 python3 中的字符串中提取数字和点,但没有成功。 实际上我尝试使用正则表达式搜索 function 但我只得到第一个数字而不是点和后面的数字。 这是我的测试示例

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为两个 integer 部分。

您可以使用 re 获取所有数字:

import re
str1 = "CDS             complement(129..1049)"
print(re.findall('\d+', str1))

我不知道如何得到这些点

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM