我正在使用 OpenOffice 和 Notepad++。
需要匹配文本中的前 1000 个符号(或更少),直到句子结尾(点符号)。例如:
"Once upon a time ... around 1000 symbols ... the end.",
然后,您单击“下一步搜索”,会得到另外大约 1000 个以 .
符号结尾的符号的匹配项,依此类推。
我尝试了匹配所有内容的正则表达式 (?s).*
以及在到达换行符时停止的 .{0,1000}
。
我想我需要类似 .{0,1000}\.\n\r
或 .{0,1000}\.\S\s
的内容。我注意到我需要在正则表达式中包含诸如 e.g.
之类的内容,否则它会匹配 ...e.
并将 g.
分开。如何做到这一点?
最佳答案
你可以使用
(?s).{0,1000}[.?!…]\B
请参阅regex demo .
详细信息:
(?s)
- DOTALL 修饰符,.
现在匹配换行符.{0,1000}
- 任意 0 到 1000 个字符[.?!…]\B
-.
、?
、!
或…
位于字符串末尾或后跟非单词字符。
关于正则表达式 - 匹配前 1000 个符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66725317/