2013-04-14 4 views
4

목록의 문자열에 연도 (예 : 1999)가 포함되어 있는지 어떻게 알 수 있습니까? 나는 다음과 같은 네 자리 숫자를 확인해 보겠다. [1-2][0-9][0-9][0-9]연도가 문자열에 있는지 (4 자리 숫자 연속)

목록 피스와 비교해 확인하는 방법은? 여기에 내가 당신이 일치 어디 입력 문자열에서 테스트하기 위해 re.search()를 사용하려면 이미

for piece in reflist: 
    if "\d{4}" in piece: 
     # Do something 

for piece in reflist: 
    if re.match('\d{4}', piece): 
     print piece + '\n' 
+0

're.match'에만 검사를 통해 1000에서 아무것도 일치하는 것이다 문자열. 're.search'를 시도하십시오. 참고로 정규 표현식 패턴에 대해서는 원시 문자열'r '...''을 사용해야합니다. – jamylak

+0

정확히 무엇이 문제입니까? 코드가 무엇을 기대하고, 어디에서 코드를 수행하지 못합니까? –

답변

8

을 시도했습니다 것입니다.

보다 정확하게 조금, 당신은 사용할 수 있습니다 (최근) 년 일치 시키려면 :

re.search(r'[12]\d{3}', piece) 

의 시작부터 2999.에

+0

예, 맞습니다! 감사! –

+0

@MartijnPieters 내가 당신의 해결책을 시도 할 때 나는 실제적인 일치가 무엇인지 말해 줄 수없는 물건을 얻는다. 그 경기를 어떻게 구합니까? – Shawn

+1

찾았습니다. 'm = re.search (r '[12] \ d {3}, 조각)'이면''m.group (0)'이 일치를 줄 것입니다. – Shawn

관련 문제