gpt4 book ai didi

regex - 在 MS Word 正则表达式中捕获组

转载 作者:行者123 更新时间:2023-12-05 00:56:25 25 4
gpt4 key购买 nike

我正在尝试删除“n=”之前的新行,替换为空格并在 () 中包含捕获的数字,所有这些都在 MS Word 的高级查找+替换中,使用通配符。

目前:

some preceeding text
n=1,233,023

想要的结果:

some preceding text (1,233,023)

我一直在努力解决 ^13n=(*{1,})并替换为“(\1)”(不带引号)但它甚至无法匹配它。请提供任何帮助,不胜感激。谢谢

最佳答案

MS Word 在正则表达式中确实有一些奇怪的方式。以下步骤对我来说是成功的(我的是荷兰语,所以请原谅任何小的翻译错误):

  • 点击Ctrl+H打开搜索和替换
  • 勾选更多并勾选使用通配符

现在我们可以搜索:

^13(n=[0-9,]{1,})
  • ^13 - 匹配换行符。
  • ( - 打开捕获组 1。
    • n= - 从字面上匹配“n=”。
    • [,0-9]{1,} - 匹配一个数字或逗号至少 1 次。
  • ) - 关闭捕获组 1。

替换为:

^s\1
  • ^s\1 - 一个空格,后跟捕获组 1。

如前所述,我会认为 Word 提供的正则表达式类型不可靠。 Here你也可以阅读更多关于它的缺陷。我无法在捕获组中创建捕获组,也无法创建三个连续数字和逗号的可选 block 。幸运的是,在您自己的尝试中,您只知道换行符后跟 n=看起来够了。

倒数第二个音符;因为我是荷兰人,所以我的本地参数分隔符是分号。这也反射(reflect)在这个搜索和替换功能中,我使用了它的出现指示符含义:^13(n=[,0-9]{1;})

最后一点,我发现对我有用的另一种模式是 ^13(n=*^13) , 但由于我们对 n= 之间的模式的控制为零和段落结尾我会坚持我最初的想法。之所以使用*在这里工作是因为我们将它用作 n= 之间任何字符的实际频率和 ^13 .


之前:

enter image description here

之后:

enter image description here

关于regex - 在 MS Word 正则表达式中捕获组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62365716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com