簡體   English   中英

正則表達式使用python提取括號內的值和括號內的單詞

[英]regex to extract values within parentheses and the word before parentheses using python

我想提取括號內的值以及前面的單詞。 例如,在給定的文本文件中,我將具有以下詳細信息:

Total DB read time : TDBT(56) TDTO(78) TDTC(567) TON(567) TOT(345) 

預期的輸出是一個元組或列表:

TDBT 56 TDTO 78 TDTC 567 TON 567 TOT 345 

:分割,並使用str.translate()替換為空格

s = "Total DB read time : TDBT(56) TDTO(78) TDTC(567) TON(567) TOT(345)"

spl = s.split(":")[1].translate({ord("("):" ",ord(")"):" "}).split()
['TDBT', '56', 'TDTO', '78', 'TDTC', '567', 'TON', '567', 'TOT', '345']

或使用str.replace

s="Total DB read time : TDBT(56) TDTO(78) TDTC(567) TON(567) TOT(345)"

spl = s.split(":")[1].replace("("," ").replace(")"," ").split()
print(spl)

如果要配對,可以使用re:

s="Total DB read time : TDBT(56) TDTO(78) TDTC(567) TON(567) TOT(345)"

import  re

r = re.compile("(\w+)\((\d+)\)")

print(r.findall(s))
[('TDBT', '56'), ('TDTO', '78'), ('TDTC', '567'), ('TON', '567'), ('TOT', '345')]

暫無
暫無

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

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