希望有人能够帮助我解决这个问题。我在单词中使用正则表达式并且在搜索模式方面遇到问题。我想在"月日,年和#34;中搜索日期。我正在使用这个:
(< [ADFJMNOS] *>)([0-9] {1,2},)([0-9] {4})
但是,它会继续选择导致日期的所有单词。例如,如果我有:
2011年3月3日这是美好的一天。
它将选择" 2011年3月3日和#34;因为D匹配字符串。我错过了什么让它在本月开始匹配?
谢谢!
答案 0 :(得分:0)
那是因为你的规则规定“从D开始直到我找到一些数字为止”,你必须改变它以便它只找到一个单词:
(<[ADFJMNOS]\w*\s>) ([0-9]{1,2},) ([0-9]{4})
这条规则说一切都以D(或任何其他字母)开头,直到我到达一个空格然后,只要有数字,继续。
\w
表示可以在单词中找到的任何字符,因此空格不会计算,\s
表示空格。
如果您使用所有月份的开头甚至整个单词而不是单个字符,您可能会发现这更准确:(Jan\w+|Feb\w+ ... )