对于 MS Word 执行 PCRE 样式正则表达式搜索/替换的最简单方法是什么?

对于 MS Word 执行 PCRE 样式正则表达式搜索/替换的最简单方法是什么?

您可以通过剪切+粘贴到支持它们的另一个 RTF 编辑器来执行此操作,但如果您想重新导入文本,这会产生各种可怕的后果,例如弄乱跟踪的更改。是否有类似插件可以做到这一点,或者我遗漏了某些功能?

后记 我最怀念的 PCRE 功能(从最想念到很少想念)包括:

  1. 与垂直空白匹配 - Word 在这里有一些功能,但有限;
  2. 零宽度表达式;
  3. 测试 Unicode 属性;
  4. 反向引用;以及
  5. 非贪婪匹配。

答案1

Microsoft Word 中的通配符有点像正则表达式。 这篇文章有更详细的内容。

标准正则表达式与单词正则表达式的比较如下:

  • .变成?
  • .*变成*
  • *变成@- 例如lo@t匹配 lot 和 loot
  • []两者的作用相同
  • ()两者的作用相同
  • \转义通配符
  • \b变为<>用于匹配单词边界

答案2

您可能可以编写 VBA 宏。Internet Explorer 5.5 附带了一个相当不错的正则表达式引擎,可用于 VBscript。该引擎还可以在任何安装了 MS Office 和 IE 5.5+ 的计算机上用于 VBA 宏 - 现在应该是任何 Windows 机器。

要在 VBA 宏中使用正则表达式对象,您需要在 VBA 编辑器中添加对 VBScript 正则表达式引擎的引用。加载 VBA 宏编辑器,然后从菜单中选择“工具”->“引用”。在可用引用列表中找到“Microsoft VBScript 正则表达式 5.5”并勾选它。

然后,您可以编写宏来直接在 Word 中处理文本(就像任何其他 Word 宏一样),使用 VBScript_RegEx_55 库中的 RegExp 对象来实际执行基于正则表达式的匹配和替换。这不像直接使用对话框那么容易,但也不是很难。如果您对编程有足够的了解,可以实际使用正则表达式,我相信您能够处理 VBA 编码。

http://www.regular-expressions.info/vb.html有一些关于如何实际使用该库中提供的 RegEx 对象的信息。

答案3

本网站列出了 Word 中查找和替换的所有通配符、元字符和注意事项。

Word 和 PCRE 的一个重要区别是克拉的^含义非常不同。克拉用于构成元字符,例如^p段落。

相关内容