Dre*_*ate 2 regex microsoft-word microsoft-word-2010
我有几个 Word 文档,其中添加换行符(段落分隔符)纯粹是出于美观的原因(可能是人类,但也可能是 OCR 系统或类似的东西)。我想从文档中删除这些额外的换行符。基本上,“额外”换行符是两边都被小写字母包围的换行符(带有可选的空格)。不幸的是,如果我想在 Word (^p) 中找到分段符,我不能使用字符类来只找到小写字母 ([az]),反之亦然。
基本上我想在文档上使用多行正则表达式,这样我就可以找到如下内容:
/[a-z]\s*\n\s*[a-z]/
Run Code Online (Sandbox Code Playgroud)
并用空格替换换行符。有什么办法可以同时搜索段落标记(Word 中的 ^p)和字符类(或者一般来说只是小写字母)?
例子:
标题¶
这是一些文字。
不会匹配,但是
这段文字在一行上,¶
继续到下一行。
将匹配并且“¶”将被替换为空格。
我无法从您所说的内容中看出您是否知道,如果您More >>
在 Microsoft Word 的“查找和替换”对话框中单击,您会看到一个包含“使用通配符”选项的“搜索选项”面板。请注意,它支持神秘的通配符语言,而不是正则表达式符号。要开始使用此选项,请使用[a-z]^13[a-z]
. 出于某种原因,您不能^p
在通配符搜索中使用,但^13
是启用通配符的^p
.
空格有点棘手。我能想到的最好的办法是你必须进行四次搜索,使用
[a-z]^13[a-z]
[a-z][^t ]{1,99}^13[a-z]
[a-z]^13[^t ]{1,99}[a-z]
, 和[a-z][^t ]{1,99}^13[^t ]{1,99}[a-z]
因为奇怪的是,它^t
在通配符模式下工作。 \s
并且*
不意味着它们在正则表达式中的含义。 {n,m}
确实有效,但n
必须是积极的。请注意,您不能只用空格替换匹配项,因为最后一个前面的字母和第一个后面的字母都包含在匹配项中,并且会被破坏。
额外的功劳:您可能希望-
在换行符之前寻找(连字符)作为最后一个打印字符;但一定要解决这两种(不同的)情况:
...
两边被小写-¶大小写字母包围(带有可选的空格)。不幸的
是,不过,……
归档时间: |
|
查看次数: |
3766 次 |
最近记录: |