正则表达式 - 匹配前 1000 个符号

标签 regex notepad++

我正在使用 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/

相关文章:

javascript - 什么是正则表达式匹配标题 : [name]?

css - Notepad++ 提示 CSS3 属性字段

java - 编写没有 BOM 的 UTF-8

python - 如何在 Notepad++ 中缩进一段 Python 代码?

notepad++ - 如何使用 NppExec 插件执行最左边的选项卡打开? (Npp 中的上下文)

php - 如何在不使用任何内置php函数的情况下搜索字符串中连续重复的字符?

正则表达式无法将数字和破折号与字母(或空格和字母)匹配

Java正则表达式。不包括定界符的组

python - 正则表达式用于加号和减号以及字母?

regex - 需要使用 Notepad++ RegEx 来查找和删除大括号之间的字符