【发布时间】:2021-08-28 16:21:13
【问题描述】:
我正在寻找包含以下任何序列的单词:“tion”、“ex”、“ph”、“ost”、“ist”、“ast”。
到目前为止,这是我的功能:
def latin_ish_words(text):
return re.findall('tion|ex|ph|ost|ist|ast+\b', text, re.I))
但是,这只是返回特定的序列而不是完整的单词。
示例 1:latin_ish_words("This functions as expected")
返回['tion', 'ex'],而我正在寻找["functions", "expected"]。
示例 2:text = 'Philosophy ex nihilo existed in the past' 返回 ['Ph', 'ph', 'ex', 'ex'],而我正在寻找 ['Philosophy', 'ex', 'existed', 'past']
看了Re官方文档,我以为'\b'返回了完整的单词?
有什么建议吗?
【问题讨论】:
-
只是为了确认一下,为什么示例 2 应该匹配“过去”?正则表达式是否应该阅读
ast+而不是ost+? -
好地方-谢谢。我已经更新了我的问题。