社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Sirsmorgasboard  »  全部回复
回复总数  2
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。

上面的代码输出,

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

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

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

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