正则表达式 - 匹配前 1000 个符号
Regex - match first 1000 symbols
我正在使用 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
- .
、?
、!
或 …
位于字符串末尾或后跟非-word 字符。
我正在使用 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
-.
、?
、!
或…
位于字符串末尾或后跟非-word 字符。