簡體   English   中英

如何在Python中匹配方括號中的日期時間

[英]How to match datetime in square brackets in Python

我正在嘗試匹配方括號中的日期時間。 我知道必須使用正則表達式,我不太熟悉。

我試圖匹配的是: [2020-09-04 02:17:52,146]可以是任何時間,而不是硬編碼的時間。

到目前為止我嘗試過的: line = re.sub(r"\\s+(?=\\d{2}(?:\\d{2})?\\b)", "", "")我期待什么時候我通過line在方括號的日期時間的每場比賽用一個空字符串替換。 但我只對我的問題中定義的方括號中的日期時間的正則表達式感興趣,不希望用空字符串替換。

您不需要使用正則表達式。 一種選擇是嘗試使用給定格式將其解析為datetime對象(即使您從未實際使用過該對象),如果它給您一個ValueError則該字符串不是該格式。

import datetime

line = "[2020-09-04 02:17:52,146]"

format = "[%Y-%m-%d %H:%M:%S,%f]"

try:
    dt = datetime.datetime.strptime(line, format)
    print(dt)
except ValueError:
    print("string is not in that format")

這種模式應該可以解決問題:

r'\[\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2},\d{3}\]'

證明: https : //regexr.com/5beov

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM