2016-01-10 72 views
0

我使用通配符查找/替換涉及以下發現場完全懶:字查找/替換不是

([0-9]*)

(請注意,應該在該領域的後面加上一個空格,即使雖然我不能讓它在這裏堅持對SO)

當我搜索的文本:

13 April Boon 87 155

(僅僅因爲它在這裏沒有視覺上清楚,除了「87 155」和「April Boon」,它們都有空格以外,所有東西都應該是製表符分隔的。)

由於post-star(名義上)是一個懶惰評估者,我希望這隻匹配「87」。這是我想要的結果!

但它正在4場比賽: 「4月13日」 「4月3日」 「87」 「7」

這是更加神祕的對我來說,因爲它不匹配「4月13日寶87「或」4月3日Boon 87「

這是怎麼回事?我如何獲得我所尋找的比賽?

在此先感謝!

+0

你怎麼期望它匹配'87'而不是'13'?另外,'*'不是懶惰的提名者,'*?'是,但這不會產生問題。你也應該擺脫星星,並使用'+',這樣你就不會替換空的空間。 –

+0

問題是,當您檢查*使用通配符*框時,您希望Word完全支持正則表達式,而不是。它支持有限的通配符和字符組。它不支持正則表達式,因此使用正則表達式標籤是不合適的。(事實上​​,你的問題實際上是在這裏脫離主題;它屬於[su],因爲它涉及到使用Word查找和替換,並且與編程無關。) –

+0

@AndrisLeduskrasts,13和4月之間有一個選項卡。 –

回答

2

您的通配符模式按預期工作。你的模式([0-9]*)比賽:

  • ([0-9] - 數字(捕獲組1,可以用\1參考)
  • *) - 任何字符,但儘可能少到第一...
  • - 空間。

由於匹配是從左到右找到的,因此您有4個匹配項。 [0-9]匹配一個數字。

你只能用(<[0-9]@>) <[0-9]@>^13這樣的正則表達式捕獲87

  • (<[0-9]@>) - 包含一個或多個數字
  • 一個整體 「字」 - 一個空間
  • <[0-9]@> - 包含一個或多個數字
  • ^13一個整體 「字」 - 回車
+0

既然解決了你的問題,請考慮接受。如果您發現它有幫助,請考慮upvoting。 –