我有查找/替换打开,在...下更多的我有使用通配符检查。
我的文档中有很多索引标记,我想在索引标记中查找未转义的分号。我只想查找分号 (;)不是以反斜杠开头的分号(\;),可能有多个分号需要位于单个索引标记中,并且我想在任何尚未添加反斜杠的分号前面添加反斜杠。
我在下面重复了几个索引标记。
{ 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,您可以使用正则表达式(?<!\\);
(如评论中所建议),因为它支持正确的正则表达式查找和替换。