私信  •  关注

Sirsmorgasboard

Sirsmorgasboard 最近创建的主题
Sirsmorgasboard 最近回复了
6 年前
回复了 Sirsmorgasboard 创建的主题 » 如何在python中获取此正则表达式[duplicate]

如果它真的只是一个字符串,并且您想要的数据总是在同一个位置,那么您可以这样做。

String = "Sat Apr 18 23:22:15 PDT 2009"
hour = String[11:13]
print(hour)

这又回来了,

23

即使是从datetime或其他什么东西开始,这也一样。

如果这是某个函数的其他输出,您可以将其转换为字符串,然后以相同的方式提取数据。

hour = str(some_output)[11:13]

但是,如果您不确定所需的数据始终位于字符串的同一位置,那么我建议您执行以下操作。

import re

somestring = "More text here Sat Apr 18 23:22:15 PDT 2009 - oh boy! the date could be anywhere in this string"

regex = re.search('\d{2}\:\d{2}\:\d{2}', somestring)
hour = regex.group()[:2]

print(hour)

regex.group()正在返回,

23:22:15

然后[:2]提取要返回的前两个项,

23个
6 年前
回复了 Sirsmorgasboard 创建的主题 » python星号图案打印

首先,我建议你把整个事情放在一个循环中(如果我明白你在追求什么的话)

time = range(3)

count = 0

for times in time:
    count = count + 1
    for i in range(8):
        print("* "*(i * count))
    for x in range (6, 0, -1):
        print ("* " * (x * count))

这将在time=range中给定的次数循环模式,每次循环1。

上面的代码输出,

* 
* * 
* * * 
* * * * 
* * * * * 
* * * * * * 
* * * * * * * 
* * * * * * 
* * * * * 
* * * * 
* * * 
* * 
* 

* * 
* * * * 
* * * * * * 
* * * * * * * * 
* * * * * * * * * * 
* * * * * * * * * * * * 
* * * * * * * * * * * * * * 
* * * * * * * * * * * * 
* * * * * * * * * * 
* * * * * * * * 
* * * * * * 
* * * * 
* * 

* * * 
* * * * * * 
* * * * * * * * * 
* * * * * * * * * * * * 
* * * * * * * * * * * * * * * 
* * * * * * * * * * * * * * * * * * 
* * * * * * * * * * * * * * * * * * * * * 
* * * * * * * * * * * * * * * * * * 
* * * * * * * * * * * * * * * 
* * * * * * * * * * * * 
* * * * * * * * * 
* * * * * * 
* * * 

我希望这就是你的想法,如果我不理解你的问题,我会很抱歉。