python中与re匹配的字符串

2024-04-19 00:49:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在python中使用re模块将数字和字符串分开,但我做不到

我尝试了以下代码:

import re
t='0.555/0.980/2.563'
r=re.search( (".*")+re.escape('/'),t).group()
print "first number " ,r

我知道了:

0.555/0.980/

我怎样才能得到第一个和最后一个号码?你知道吗

谢谢


Tags: 模块字符串代码importrenumbersearchgroup
2条回答

你想用这样的方法:

result = re.match(r'(\d*\.?\d+)/.+/(\d*\.?\d+)', '0.555/0.980/2.563')

然后result.group(1)result.group(2)会给你想要的。查看这一点的方法是()定义所需的特定组。()中的内容告诉您想要什么样的模式—在本例中,regex被调优为捕获出现在那里的所有十进制数。你知道吗

但是@zondo是对的:您可以通过result = t.split('/')获得更好的行为。然后result[0]result[-1]将相应地给出第一次和最后一次拆分。你知道吗

只要字符串格式保持不变,就可以使用re.split分割数字。你知道吗

import re

dataString = "0.555/0.980/2.563"

numbers = [float(n) for n in  re.split("/", dataString, re.DOTALL)]

print(numbers)

这将提取数组中的数字

[0.555, 0.98, 2.563]

如果必须分别打印每个数字,只需遍历列表即可。你知道吗

for n in numbers:
    print(n)

您将得到:

0.555
0.98 
2.563

相关问题 更多 >