나는 대답 한 비슷한 질문이 있다는 것을 알고 있지만, 나는 그들을 통해 읽은 후에도 여전히 내가 찾고있는 해결책이 없다.Python에서 정규식과 일치하는 날짜?
파이썬 3.2.2를 사용하면 "월, 일, 년"과 일치해야합니다. 윤곽선의 달은 2 월 30 일, 31 일 또는 28 일, 윤년 2 월 29 일입니다. .
나는 아직도 정규식 구문 너무 익숙하지 않다pattern = "(January|February|March|April|May|June|July|August|September|October|November|December)[,][ ](0[1-9]|[12][0-9]|3[01])[,][ ]((19|20)[0-9][0-9])"
expression = re.compile(pattern)
matches = expression.findall(sampleTextFile)
그래서 난 불필요한 거기에 문자를합니다 ([있을 수 있습니다 (기본적으로 진짜와 유효 날짜)
이것은 내가 지금까지 무엇을 가지고 ,] []는 쉼표와 공백으로 잘못 생각합니다.),하지만 필자의 샘플 텍스트 파일에서 "January, 26, 1991"과 일치 시키려고하면 "matches"항목의 인쇄가 다음과 같이됩니다. ('1 월', '26', '1991', '19').
끝에 '19'가 나타나는 이유는 무엇입니까?
또한 무엇을 추가하거나 날짜의 유효성을 올바르게 확인할 수있는 정규식에서 변경할 수 있습니까? 내 계획은 지금 거의 모든 날짜를 받아들이고 날짜 그룹을 달 및 연도 그룹과 비교하여 날짜가 높은지 확인하는 것입니다. < 31,30,29,28
모두 도움이 많이 평가할 수있는 건설적인 비판을 포함하여 내 정규 표현식을 설계하는 방법에 대해 고맙겠습니다.
왜 정규 표현식을 사용해야합니까? (이제 두 가지 문제가 있습니다 ...) – geoffspear
나는 워록이 인용하고있는 말을 믿는다. 어떤 사람들은 문제에 직면했을 때 "나는 정규식을 사용할 것"이라고 생각한다. 이제 그들은 두 가지 문제가있다. ' 나는 동의 할 의향이있다. 문자열과 2 개의 숫자를 추출하는 것이 좋습니다. (아마도 간단하고 간단한 정규 표현식을 사용하지만 문자열을 쉼표로 분리하여 사용하는 것이 좋습니다.) 그런 다음 datetime을 사용하여 날짜가 유효한지 테스트합니다. –
조언을 주셔서 감사합니다. 그러나 이것은 숙제 지정으로 날짜와 일치하는 표현식을 만들어야합니다. – ahabos