2013-10-18 3 views
1

다음 고정 문자열이 있습니다.고정 문자열에서 일치 가져 오기

edbe801bf92fe7b770f72df2d722df0a 

나는 네 번째 72df2d 부분을 얻기 위해 마지막 7

전에 내가

[a-z0-9]*7[a-z0-9]*77[a-z0-9]*7(.*) 

와 일치하는 시도하지만 그 문자열의 잘못된 부분을 점점 필요

감사합니다.

답변

1

캡쳐 그룹 후에 다른 7을 추가하면 패턴이 일치합니다.

.... (.*)7 

가독성과 두통을 줄이기 위해 나는 이것을 단순화했습니다.

(?:[^7]*7){4}([^7]*) 

는 I 그룹에 여기서 ?: 멀티 매치에 대한 식을 비 포착기를 사용하지만, 문자열의 일치/포획 부분으로 저장하지.

정규 표현식 설명 :

(?:  group, but do not capture (4 times): 
[^7]*  any character except: '7' (0 or more times) 
    7  match '7' 
){4}  end of grouping 
(   group and capture to \1: 
[^7]*  any character except: '7' (0 or more times) 
)   end of \1 

참조 live demo

+0

임 미안 메신저 좋지 정규식하지만 내가 도울 수 –

+0

다행 일했다. – hwnd