【发布时间】:2018-04-06 08:50:01
【问题描述】:
r'((?:\S+\s+){0,3}\bwhite\b\s*(?:\S+\s+){0,3})
下面句子的上面正则表达式的结果是
sentence = This is a white floral garment.
result = This is a white floral
但我希望结果为
wanted result = This is a white floral garment
我想要在白色单词之前和之后的 3 个单词。如果 white 后面没有三个单词,那么至少得到所有存在的单词。
【问题讨论】:
-
问题是
\s+至少需要 1 个空格(在末尾)。你可以试试(?:\S+\s+){0,3}white(?:\s+\S+){0,3} -
也许stackoverflow.com/questions/25199812/…可以用来关闭问题?
标签: regex python-3.x