regex - 在 MS Word 正则表达式中捕获组
问题描述
我正在尝试删除“n =”之前的新行,替换为空格并在 () 中包含捕获的数字,所有这些都在 MS Word 的高级查找 + 替换中,使用通配符。
目前:
some preceeding text
n=1,233,023
期望的结果:
some preceding text (1,233,023)
我一直在努力使用 ^13n=(*{1,}) 并替换为 " (\1)" (不带引号),但它甚至无法匹配。请提供任何帮助,不胜感激。谢谢
解决方案
MS Word 在正则表达式中确实有奇怪的方式。以下步骤对我来说是成功的(我的是荷兰语,所以请原谅任何小的翻译错误):
- 点击Ctrl+H打开Search And Replace。
- 勾选更多并勾选使用通配符
现在完成此操作后,我们可以搜索:
^13(n=[0-9,]{1,})
^13
- 匹配换行符。(
- 打开捕获组 1。n=
- 从字面上匹配“n=”。[,0-9]{1,}
- 匹配一个数字或逗号至少 1 次。
)
- 关闭捕获组 1。
替换为:
^s\1
^s\1
- 一个空格,后跟捕获组 1。
如前所述,我会考虑 Word 提供的正则表达式的类型是狡猾的。在这里,您也可以阅读更多关于它的缺陷的信息。我无法在捕获组中创建捕获组,也无法创建三个连续数字和逗号的可选块。幸运的是,在您自己的尝试中,只知道一个换行符后跟字面意思n=
似乎就足够了。
倒数第二个音符;因为我是荷兰人,所以我的本地参数分隔符是分号。这也反映在这个搜索和替换功能中,我使用了它的出现指示符含义:^13(n=[,0-9]{1;})
最后一点,我发现对我有用的另一种模式是^13(n=*^13)
,但由于我们n=
对段落结尾之间的模式的控制为零,我会坚持我最初的想法。之所以*
在这里使用 work 是因为我们将其用作n=
和之间任何字符的实际频率^13
。
前:
后:
推荐阅读
- javascript - Twitter API - 发布收藏夹/创建特定速率限制
- html - 通过 ASP 中的类标签而不是通过 ID 标签隐藏/显示 HTML div
- list - Haskell - 根据列表索引重复列表的元素
- java - 在 Intellij IDEA 异常断点条件下调用自定义函数
- c# - 使用 Dropbox .NET SDK 上传文件未完成
- jquery - 使用 JSON 数组和对象
- javascript - React Native 的功能不会更新状态/不会改变 UI
- html - 如何将文本放置在与图像相同的高度
- python-3.x - 是否可以(永久)更改 matplotlib 图的默认样式和大小(在 Jupyer 笔记本中内联绘制)?
- c++ - 浮点数是否以 0.5 结尾。C++