簡體   English   中英

如何從REGEX的捕獲組中排除具有特殊字符的特定單詞?

[英]How to exclude particular word with special character from a capture group in REGEX?

我想為以下文本創建正則表達式:

date=2016-02-25 time=10:14:22+0000

在這種情況下,我們需要像下面這樣捕獲(單個捕獲組)

2016-02-25 10:14:22

我已經在正則表達式下面嘗試過,但是我無法實現我的O / P:

^(?!time=)\D+(\d{4}\-\d+\-\d+\s\D+\d+\:\d+\:\d+) 

是否可以創建正則表達式? 請幫幫我。 提前致謝!

嘗試這個

.*?((?:\d+-?)+).*?((?:\d+\:?)+).*

正則表達式演示

說明:
. :除換行符示例外的任何字符
*樣品零次或多次
? :一次或不一次樣品
( … ) :捕獲團體樣本
(?: … ) :非捕獲組樣本
\\ :逃避特殊字符樣本
+ :一個或多個樣本

您可以使用單獨的組捕獲日期和時間,然后使用Python的字符串運算符將它們連接在一起:

import re

text = 'date=2016-02-25 time=10:14:22+0000'
pattern = r'^date=(\d{4}-\d{2}-\d{2}) time=(\d{2}:\d{2}:\d{2})[+-]\d{4}$'

match = re.match(pattern, text.strip())
result = " ".join(match.groups())

print(result)

暫無
暫無

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

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