使用正则表达式隔离词语与EI或IE在它

问题描述 投票:1回答:1

如何使用正则表达式隔离的话与EI或IE的呢?

import re
value = ("How can one receive one who over achieves while believing that he/she cannot be deceived.")
list = re.findall("[ei,ie]\w+", value)
print(list)

它应该打印['receive', 'achieves', 'believing', 'deceived'],但我得到['eceive', 'er', 'ieves', 'ile', 'elieving', 'eceived']代替。

python-3.x
1个回答
1
投票

所述集语法[]为单个字符,所以使用(?:)代替,与由|分隔单词。这就像使用一组,但它并没有捕获匹配组像()会。你也想两边的\w被捕获,以获得整个单词。

import re
value = ("How can one receive one who over achieves while believing that he/she cannot be deceived.")
list = re.findall("(\w*(?:ei|ie)\w*)", value)
print(list)

['receive', 'achieves', 'believing', 'deceived']

(我假设你的意思是“达到”,而不是“实现”,因为这实际上这里出现的词。)

© www.soinside.com 2019 - 2024. All rights reserved.