如何解决正则表达式 - 匹配前 1000 个符号
我使用的是 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
- 一个.
、?
、!
或…
,位于字符串的末尾或后跟一个非单词字符。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。