我试图仅从句子中获取引文 - 但是!仅当其长度为一两个词时。所以对于这句话
mysentence = 'Kids, you "tried your best" and you failed miserably. The "lesson" is, "never try."'
输出应该是
类(class)
永远不要尝试
到目前为止我已经有了
import re
print(re.findall(r'"(.*?)"', mysentence))
有什么建议可以解决这个问题吗?
最佳答案
您可以尝试这个正则表达式:
"[^"\s]+(?:\s[^"\s]+)?"
开头和结尾的 "
匹配引号开头和结尾的引用单词/短语。然后我们匹配一个单词:[^"]+
。 [^"]
是除引号或空格之外的任何字符。我排除了空格以确保它仅匹配单个单词。
下一部分全部在可选组中,因为第二个单词是可选的。第二个单词是一个空格,后跟一个单词:\s[^"\s]+
。
关于python - 限制 re.findall 引用中的字数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57327886/