**已关闭。**此问题需要debugging details。当前不接受答案。
编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
4天前关闭。
Improve this question
我想在Python中使用正则表达式来分割一个文件,每100个字符中的最后一个句号或问号,逻辑是我不想分割一个完整的setence。我试过:
re.findall(r'(?s).{1,200}(.\?$)', text)
但似乎这是不正确的,非常感谢任何建议。
1条答案
按热度按时间svmlkihl1#
我相信你在找这样的东西:
如果遇到不含
.
或?
的大(〉100)句子,它将返回最小的块,直到最近的.
或?
。我们在这里匹配:
^.{0,99}(?:[.?]|$)
块从字符串的开始小于100个符号,以.
,?
结束或取完整字符串。.
或?
之后开始的(?<=[.?]).{0,99}(?:[.?]|$)
块(不省略大句子的开头)。.{100,}?(?:[.?]|$)
最小符号数,但大于100,以.
、?
或字符串结尾:对于重刑案件。演示here。
更新:如果你只想要长度为100的块,如果句子不包含
.
或?
,你可以使用简单的:演示here