2012-01-21 2 views
0

그래서 나는이 같은 요소 목록의 입력이 있습니다분할 목록 항목

"거리의 & 수리 & 도로를 재 포장 공사 재건 달력 2008 년"

그리고 목록을 반복합니다. 각 반복의 경우, 처음 내가 확인하려는 것을 내가 함께 할 수있는 알고 INTspacespacefor 문자열에있는 패턴 :

나는 요소 중 하나에 일치하는 항목을 확인하면
re.search('\\d+\s\sfor',string) 

, 나는 분리 할 이 요소를 INT와 "for"사이의 두 요소로 분리합니다. 이 작업을 수행하는 쉬운 방법이 있습니까?

[item1,item2,...item10,"calendar year 2008","for construction reconstruction resurfacing & repair of streets & roads",item11,item12...] 
+1

영업 이중 공간을 사용하여 예제 문구를 쓴 뒤에 찾아 사용하고 미리 볼 수 있지만 서식 도구를 멀리했다 :

그래서 이것에 대한 샘플 출력 될 것이다 그들과 함께. –

답변

3

당신은

re.split('(?<=\d)\s\s(?=for)',string) 
+0

멋진! regex에 대한 심층적 인 이해가 필요해 보인다. – Oliver

+1

@Oliver 다음은 앞을 내다 보며 뒤를 돌아 보는 훌륭한 매뉴얼입니다 : http://www.regular-expressions.info/lookaround.html –