如何使用正则表达式隔离的话与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']
代替。
所述集语法[]
为单个字符,所以使用(?:)
代替,与由|
分隔单词。这就像使用一组,但它并没有捕获匹配组像()
会。你也想两边的\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']
(我假设你的意思是“达到”,而不是“实现”,因为这实际上这里出现的词。)