我试图删除“n=”之前的新行,替换为空格并在 () 中包含捕获的数字,所有这些都在 MS Word 的高级查找+替换中使用通配符。
现在:
some preceeding text
n=1,233,023
Run Code Online (Sandbox Code Playgroud)
期望的结果:
some preceding text (1,233,023)
Run Code Online (Sandbox Code Playgroud)
我一直在努力解决 ^13n=(*{1,}) 并替换为“(\1)”(不带引号),但它甚至无法匹配它。请任何帮助,不胜感激。谢谢
MS Word 在正则表达式中确实有一些奇怪的方式。以下步骤对我来说是成功的(我的是荷兰语,所以请原谅任何小的翻译错误):
完成此操作后,我们可以搜索:
^13(n=[0-9,]{1,})
Run Code Online (Sandbox Code Playgroud)
^13
- 匹配换行符。(
- 打开捕获组 1。
n=
- 按字面意思匹配“n=”。[,0-9]{1,}
- 匹配数字或逗号至少 1 次。)
- 关闭捕获组 1。替换为:
^s\1
Run Code Online (Sandbox Code Playgroud)
^s\1
- 捕获组 1 后跟一个空格。如前所述,我认为 Word 提供的正则表达式类型很危险。在这里您还可以阅读更多有关它的缺陷的信息。我无法在捕获组中创建捕获组,也无法创建由三个连续数字和逗号组成的可选块。幸运的是,在您自己的尝试中,只需知道换行符,然后按字面意思n=
似乎就足够了。
倒数第二个音符;因为我是荷兰人,所以我的本地参数分隔符是分号。这也反映在此搜索和替换功能中,其出现指示符的含义是我使用的:^13(n=[,0-9]{1;})
最后一点,我发现对我有用的另一种模式是,但由于我们对段落结尾^13(n=*^13)
之间的模式的控制为零,所以我会坚持我最初的想法。n=
此处使用 work 的原因是因为我们将其用作和 之间*
任何字符的实际频率。n=
^13
前:
后: