2013-05-03 93 views
0

希望有人能夠幫助我。我在word中使用正則表達式,並在搜索模式中遇到麻煩。我想在「月份日,年」中搜索日期,並使用以下內容:正則表達式搜索確切的日期在月日,年

(< [ADFJMNOS] *>)([0-9] {1,2},)([0-9] {4})

但是,它會一直選擇所有到達日期的單詞。舉例來說,如果我有:

這是3月3日是美好的一天,2011年

它會選擇「日於2011年3月3日,」因爲d的字符串匹配。我錯過了什麼才能讓它在本月剛剛匹配?

謝謝!

回答

0

那是因爲你的規則規定「採取一切開始與d,直到我找到一些數字」,你必須改變它,使它只能找到一個詞:

(<[ADFJMNOS]\w*\s>) ([0-9]{1,2},) ([0-9]{4}) 

這條規則說,採取一切開始與D(或任何其他字母),直到我到達一個空間,然後,只要有一個數字,繼續。

\w意味着可以在一個字中找到,所以空間將不計入任何字符,\s指的空間。

你可能會覺得這更精確如果,而不僅僅是單個字符,您使用的開端,甚至所有月份的全字:(Jan\w+|Feb\w+ ...)

+0

感謝您的幫助!我目前正在使用MS Word,但它似乎不喜歡\ w和\ s。 – Link 2013-05-03 21:26:28

+0

好吧,我不確定單詞需要什麼,但你應該可以用'\ w - > [A-Za-z]''s - > [\ t \ n]'替換它們。 – Godwin 2013-05-04 01:27:44