我的文本文件中有mm/dd/yyyy
格式以及mm/yyyy
格式的日期。如何在不显示mm/yyyy
格式的结果的情况下搜索mm/dd/yyyy
日期。
我有以下2个场景
mm/yyyy
开头的行 - '^\d{1,2}/\d{4}'
(此处没问题)当日期在行的中间或结尾时出现问题。我有
日期前面有特殊字符和字母。所以约会
例如~09/2009
也是必需的,但如果我搜索,则被拒绝
' \d{1,2}/\d{4}'
。
要避免这种情况
我需要一个表达式,使mm/yyyy
日期不跟随前进
削减。但出于某种原因,'[^/]\d{1,2}/\d{4}'
并不起作用。它
将01/03/2010
等日期显示为03/2010
。
这是来自ipython的片段
import re
text1 = 'Appointment is on 10/06/2009. Next appointment in 07/2009'
re.findall('[^\/](\d{1,2}/\d{4})',text1)
Out:[' 6/2009',' 07/2009']
克里希纳
答案 0 :(得分:0)
您的月/年字符串不得包含前面的斜杠或数字
(?<!\/|\d)\d{1,2}/\d{4}
在你的表达式中,因为你允许一个数字,它选择第一个数字0(不是斜线)和字符串0 6/2009
的其余部分 - 匹配模式[^/](\d{1,2}/\d{4}