Word查找/替换不是完全懒惰

时间:2016-01-10 00:17:18

标签: regex replace ms-word

我正在使用包含以下查找字段的通配符查找/替换:

([0-9]*)

(请注意,即使我无法在这里坚持下去,也应该在该字段的末尾留出一个空格)

当我搜索文字时:

13 April Boon 87 155

(因为在这里看不清楚,除了“87 155”和“April Boon”之外,所有内容都应该以制表符分隔,并且有空格。)

由于后明星(名义上)是一个懒惰的评估者,我希望这只匹配“87”。这是我想要的结果!

但它正在进行4场比赛: “四月十三日” “4月3日” “87” “7”

这对我来说更加神秘,因为它不符合“4月13日Boon 87”或“4月3日Boon 87”

这里发生了什么?我怎样才能得到我所寻求的比赛?

提前致谢!

1 个答案:

答案 0 :(得分:2)

您的通配符模式按预期工作。您的模式([0-9]*)匹配:

  • ([0-9] - (捕获组1,可以引用\1)数字
  • *) - 任何字符,但尽可能少到第一个......
  • - 空间。

由于从左到右找到匹配项,因此您有4个匹配项。 [0-9]匹配一个数字。

您只能使用87等正则表达式捕获(<[0-9]@>) <[0-9]@>^13

  • (<[0-9]@>) - 一个完整的&#34;字&#34;包含一个或多个数字
  • - 空格
  • <[0-9]@> - 一个完整的&#34;字&#34;包含一个或多个数字
  • ^13 - 回车