2014-09-24 4 views
0

나는이 게시물을 읽고 How do I find the shortest overlapping match using regular expressions?을 읽었지만 그 답은 내 경우에는 효과가 없다.'(match_start1) ... (match_start2) ... (match_end)'가장 짧은 문자열 일치 찾기

나는 패턴 '\D\d{2,5}?.+?CA.??[ \-\.\_]*(?:\d{5})?', the string is '6785 56767at435 hjfioej st. CA. 94827ifojwnf 93842'

모두 't435 hjfioej st. CA. 94827'' 56767at435 hjfioej st. CA. 94827' 일치해야 찾고 있었다,하지만, 위의 게시물에 주어진 절차는 최소 일치를 제공하지 않습니다.

도와주세요.

+0

당신이 얻고 있다고 생각하는 모든 내용을 추가하십시오. – dawg

+0

코멘트 주셔서 감사합니다! 둘 다 't435 hjfioej st. CA. 94827 '및'56767at435 hjfioej st. CA. 94827 '일치해야 – Chen

+0

아, 나는 (? =) 부분, 감사를 깜빡 했어! – Chen

답변

0
re.findall('(?=(\D\d{2,5}?.+?CA.?[ -._]*(?:\d{5})?))','6785 56767at435 hjfioej st. CA. 94827ifojwnf 93842') 

이렇게하면 트릭을 실행 한 다음 최소 길이를 출력합니다.