我有以下的文件,我試圖從20131013.csv
Python的正則表達式發現沒有匹配
日期使用正則表達式(?P<yyyy>\\d{4})(?P<mm>\\d{2})(?P<dd>\\d{2})
def getEffectiveDate(regex, fileName) :
parts = 'yyyy-mm-dd'
formatString = '%s-%s-%s 00:00:00'
regexGroups = parts.split("-")
m = re.search(regex, fileName)
if m :
vals = []
for regexGroup in regexGroups :
vals.append(m.group(regexGroup))
value = formatString%tuple(vals)
return value
當我通過在getEffectiveDate('(?P<yyyy>\\d{4})(?P<mm>\\d{2})(?P<dd>\\d{2})', '20131013.csv')
我沒有找到任何匹配。
不過正則表達式(?P<yyyy>\\d{4})-(?P<mm>\\d{2})-(?P<dd>\\d{2})
會發現2013-10-13.csv
匹配,如果這是由沒有被任何其間的正則表達式組造成我想知道,如果有什麼我可以做些什麼來解決這個問題?
編輯:
我做regex.replace('\\\\', '\\')
雙反斜線導致了一個問題,與之相配找到了解決辦法。我只嘗試過正則表達式(?P<yyyy>\\d{4})-(?P<mm>\\d{2})-(?P<dd>\\d{2})
作爲原始字符串,所以它在這種情況下工作。
您的代碼對我的作品.. – 2015-02-06 11:29:48