2017-10-05 56 views
0

的文本文件中的特定詞語是如下: $flower. are red, yellow and purple. $Sun, and moon. are the best. $Monkey, cat. are animals.匹配在一個文本文件中使用正則表達式使用python

我想將美元符號$後的詞匹配,直到第一個點,並把再進入列表。

所以名單應該是: ["flower","Sun, and moon","Monkey, cat"]

回答

1

我認爲這是你在找什麼

import re 
strings = re.findall('(?<=\$)[^.]+(?=.)', text) 

正則表達式的意思是「美元符號,隨後之外的其他一個或多個符號期間,然後是一個單一的時期,並不會使美元符號和時期成爲比賽的一部分「。 (?< = xyz)和(?= xyz)構造函數分別稱爲lookbehead和lookahead,它們與前面的和後面的文本相匹配,但不會使其成爲匹配的一部分。

編輯對不起,一開始並沒有注意到你不需要這段時間和標誌。

+0

非常感謝你,我試圖用另一個單詞使用相同的技巧,但它不起作用,請你幫我糾正一下:我想得到下列單詞之間的詞:1.&2.對於句子1生活如此美好 每一件事情都可以。 2. –

+0

請記住,每一個東西之間都有一條新的線......我試圖讓它((?<= 1。)[^。](?<= 2。)),但它是不工作 –

+0

我明白了,(?<= 1。)[^ 2] +(?= 2。)這個工作。 –