2013-05-03 53 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