簡體   English   中英

python正則表達式在文本文件中打印以前的單詞

[英]python regex to print previous words in text file

我有一個文本文件需要打印其前一個單詞。該文本文件包含以下內容:

Sparrow=beak
Hen=nest Honey=comb

我需要輸出為:

Sparrow
Hen
Honey

編碼:

import re

with open('qwert.txt', 'r') as f:
    for line in f:
        res = re.findall(r'(?:=(\w-))', line)
        if res: 
            print res

我沒有輸出,請幫忙!

使用正向超前斷言(?=...)

import re

with open('qwert.txt', 'r') as f:
    for line in f:
        for res in re.findall(r'\w+(?==\w)', line):
            # Match word characters (`\w+`) followed by `=` and word character.
            print res

如果字符串格式有點嚴格,則可以使用split不僅可以獲取鍵,還可以獲取值。

line = "Hen=nest Honey=comb"
keys = [key for key, value in [token.split('=') for token in line.split(' ')]]

然后只需打印出密鑰即可。

暫無
暫無

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

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