Microsoft Word 中的 RegEx 查找/替换用于在索引标记中定位未转义的分号

Microsoft Word 中的 RegEx 查找/替换用于在索引标记中定位未转义的分号

我有查找/替换打开,在...下更多的我有使用通配符检查。

我的文档中有很多索引标记,我想在索引标记中查找未转义的分号。我只想查找分号 ()不是以反斜杠开头的分号(\;),可能有多个分号需要位于单个索引标记中,并且我想在任何尚未添加反斜杠的分号前面添加反斜杠。

我在下面重复了几个索引标记。

{ XE "afráðskollr:damage-head\; burden-head\; a man who causes suffering and setbacks" }
{ XE "ganimaðr:impetuous man; hothead" }

我尝试过实验,但连搜索部分都做错了。当我尝试用转义分号替换普通分号时,天啊!我可能对真正的 RegEx 和 MS Word 使用的 RegEx 存在误解。

欢迎提出任何建议!

答案1

不幸的是,MS Word 不使用普通正则表达式,正如@Toto 在评论中提到的那样。阅读以下文章,使用通配符查找和替换字符,关于如何在 MS Word 中使用通配符。

根据文章,使用以下内容:

  • 找什么:([!\\])(;)
  • 用。。。来代替:\1^92\2

解释:

  • ([!\\])(;): 查找前面没有反斜杠的分号[!\\]。将分别捕获前面的字符和分号。
  • \1^92\2: 用前一个字符替换我们找到的内容,然后^92用反斜杠和分号替换。

如果您的机器上安装了 LibreOffice Writer,您可以使用正则表达式(?<!\\);(如评论中所建议),因为它支持正确的正则表达式查找和替换。

相关内容